Documentation ¶
Index ¶
- Constants
- type App
- type AppAuthMethod
- type AppConnectorQuery
- type AppConnectorQueryResponse
- type AppQuery
- type AppQueryResponse
- type AuthResponse
- type Certificate
- type Client
- func (c *Client) CreateApp(app *App) (*App, error)
- func (c *Client) CreateRole(role *Role) (*Role, error)
- func (c *Client) CreateUser(user *User) (*User, error)
- func (c *Client) DeleteApp(id int) error
- func (c *Client) DeleteRole(id int) error
- func (c *Client) DeleteUser(id int) error
- func (c *Client) GetApp(id int) (*App, error)
- func (c *Client) GetRole(id int) (*Role, error)
- func (c *Client) GetUser(id int) (*User, error)
- func (c *Client) GetUserApps(id int) ([]int, error)
- func (c *Client) ListApps(query *AppQuery) ([]*AppQueryResponse, error)
- func (c *Client) ListConnectorIDs(query *AppConnectorQuery) ([]*AppConnectorQueryResponse, error)
- func (c *Client) ListRoles() ([]*Role, error)
- func (c *Client) ListUsers(query *UserQuery) ([]*User, error)
- func (c *Client) UpdateApp(app *App) error
- func (c *Client) UpdateRole(role *Role) (*Role, error)
- func (c *Client) UpdateUser(user *User) (*User, error)
- type ClientConfig
- type Conditions
- type Configuration
- type Duration
- type EnforcementPoint
- type ErrMissingField
- type ErrNotImplemented
- type ErrOneloginAPIBroken
- type Paging
- type Parameter
- type Provisioning
- type Resource
- type Role
- type SSO
- type User
- type UserQuery
Constants ¶
View Source
const ( GET method = http.MethodGet POST method = http.MethodPost PUT method = http.MethodPut DELETE method = http.MethodDelete )
View Source
const (
DefaultTimeout = 10 * time.Second
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type App ¶
type App struct { ID int `json:"id,omitempty"` ConnectorID int `json:"connector_id"` Name string `json:"name"` Description string `json:"description,omitempty"` Notes string `json:"notes,omitempty"` PolicyID int `json:"policy_id,omitempty"` BrandID int `json:"brand_id,omitempty"` IconURL string `json:"icon_url,omitempty"` Visible bool `json:"visible,omitempty"` AuthMethod int `json:"auth_method,omitempty"` TabID int `json:"tab_id,omitempty"` CreatedAt string `json:"created_at,omitempty"` UpdatedAt string `json:"updated_at,omitempty"` RoleIDs []int `json:"role_ids,omitempty"` AllowAssumedSignin bool `json:"allow_assumed_signin,omitempty"` Provisioning *Provisioning `json:"provisioning,omitempty"` SSO *SSO `json:"sso,omitempty"` Configuration *Configuration `json:"configuration,omitempty"` Parameters map[string]*Parameter `json:"parameters,omitempty"` EnforcementPoint *EnforcementPoint `json:"enforcement_point,omitempty"` }
type AppAuthMethod ¶
type AppAuthMethod int
const ( AppAuthMethodNull AppAuthMethod = iota AppAuthMethodPassword AppAuthMethodOpenId AppAuthMethodSAML AppAuthMethodAPI AppAuthMethodGoogle AppAuthMethodForm AppAuthMethodWSFed AppAuthMethodOIDC )
type AppConnectorQuery ¶
type AppConnectorQuery struct { Paging Name string `json:"name,omitempty"` AuthMethod AppAuthMethod `json:"auth_method,omitempty"` }
type AppQuery ¶
type AppQuery struct { Paging Name string `json:"name,omitempty"` ConnectorID int `json:"connector_id,omitempty"` AuthMethod AppAuthMethod `json:"auth_method,omitempty"` }
type AppQueryResponse ¶
type AppQueryResponse struct { ID int `json:"id"` ConnectorID int `json:"connector_id"` Name string `json:"name"` Description string `json:"description"` Notes string `json:"notes"` Visible bool `json:"visible"` AuthMethod int `json:"auth_method"` TabID int `json:"tab_id"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` AllowAssumedSignin bool `json:"allow_assumed_signin"` }
type AuthResponse ¶
type AuthResponse struct { AccessToken string `json:"access_token,omitempty"` CreatedAt time.Time `json:"created_at,omitempty"` ExpiresIn int `json:"expires_in,omitempty"` RefreshToken string `json:"refresh_token,omitempty"` TokenType string `json:"token_type,omitempty"` AccountID int `json:"account_id,omitempty"` }
type Certificate ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
func NewClient ¶
func NewClient(config ClientConfig) (*Client, error)
func (*Client) DeleteRole ¶
func (*Client) ListConnectorIDs ¶
func (c *Client) ListConnectorIDs(query *AppConnectorQuery) ([]*AppConnectorQueryResponse, error)
type ClientConfig ¶
type Conditions ¶
type Configuration ¶
type Configuration struct { RedirectURI string `json:"redirect_uri,omitempty"` RefreshTokenExpirationMinutes int `json:"refresh_token_expiration_minutes,omitempty"` LoginURL string `json:"login_url,omitempty"` OidcApplicationType int `json:"oidc_application_type,omitempty"` TokenEndpointAuthMethod int `json:"token_endpoint_auth_method,omitempty"` AccessTokenExpirationMinutes int `json:"access_token_expiration_minutes,omitempty"` ProviderArn string `json:"provider_arn,omitempty"` IdpList string `json:"idp_list,omitempty"` SignatureAlgorithm string `json:"signature_algorithm,omitempty"` LogoutURL string `json:"logout_url,omitempty"` PostLogoutRedirectURI string `json:"post_logout_redirect_uri,omitempty"` Audience string `json:"audience,omitempty"` ConsumerURL string `json:"consumer_url,omitempty"` Login string `json:"login,omitempty"` Recipient string `json:"recipient,omitempty"` Validator string `json:"validator,omitempty"` RelayState string `json:"relaystate,omitempty"` Relay string `json:"relay,omitempty"` SAMLNotValidOnOrAafter string `json:"saml_notonorafter,omitempty"` GenerateAttributeValueTags string `json:"generate_attribute_value_tags,omitempty"` SAMLInitiaterID string `json:"saml_initiater_id,omitempty"` SAMLNotValidBefore string `json:"saml_notbefore,omitempty"` SAMLIssuerType string `json:"saml_issuer_type,omitempty"` SAMLSignElement string `json:"saml_sign_element,omitempty"` EncryptAssertion string `json:"encrypt_assertion,omitempty"` SAMLSessionNotValidOnOrAfter string `json:"saml_sessionnotonorafter,omitempty"` SAMLEncryptionMethodID string `json:"saml_encryption_method_id,omitempty"` SAMLNameIDFormatID string `json:"saml_nameid_format_id,omitempty"` }
type EnforcementPoint ¶
type EnforcementPoint struct { RequireSitewideAuthentication bool `json:"require_sitewide_authentication"` Conditions *Conditions `json:"conditions,omitempty"` SessionExpiryFixed *Duration `json:"session_expiry_fixed"` SessionExpiryInactivity *Duration `json:"session_expiry_inactivity"` Permissions string `json:"permissions"` Token string `json:"token,omitempty"` Target string `json:"target"` Resources []*Resource `json:"resources"` ContextRoot string `json:"context_root"` UseTargetHostHeader bool `json:"use_target_host_header"` Vhost string `json:"vhost"` LandingPage string `json:"landing_page"` CaseSensitive bool `json:"case_sensitive"` }
type ErrMissingField ¶
type ErrMissingField struct {
Field string
}
ErrMissingField is returned when a required field is missing
func (ErrMissingField) Error ¶
func (e ErrMissingField) Error() string
type ErrNotImplemented ¶
type ErrNotImplemented struct{}
ErrNotImplemented is returned when a method is not implemented
func (ErrNotImplemented) Error ¶
func (e ErrNotImplemented) Error() string
type ErrOneloginAPIBroken ¶
type ErrOneloginAPIBroken struct{}
ErrOneloginAPIBroken is returned when a required field is missing
func (ErrOneloginAPIBroken) Error ¶
func (e ErrOneloginAPIBroken) Error() string
type Paging ¶
type Paging struct { Limit int `json:"limit,omitempty"` Page int `json:"page,omitempty"` Cursor string `json:"cursor,omitempty"` }
Paging holds common paging parameters for APIs that support paging https://developers.onelogin.com/api-docs/2/getting-started/using-query-parameters#pagination
type Parameter ¶
type Parameter struct { ID int `json:"id,omitempty"` Label string `json:"label,omitempty"` UserAttributeMappings string `json:"user_attribute_mappings,omitempty"` UserAttributeMacros string `json:"user_attribute_macros,omitempty"` AttributesTransformations string `json:"attributes_transformations,omitempty"` Values string `json:"values,omitempty"` ProvisionedEntitlements bool `json:"provisioned_entitlements,omitempty"` SkipIfBlank bool `json:"skip_if_blank,omitempty"` DefaultValues interface{} `json:"default_values"` IncludeInSamlAssertion bool `json:"include_in_saml_assertion,omitempty"` }
type Provisioning ¶
type Provisioning struct {
Enabled bool `json:"enabled,omitempty"`
}
type SSO ¶
type SSO struct { ClientID string `json:"client_id,omitempty"` ClientSecret string `json:"client_secret,omitempty"` MetadataURL string `json:"metadata_url,omitempty"` AcsURL string `json:"acs_url,omitempty"` SlsURL string `json:"sls_url,omitempty"` Issuer string `json:"issuer,omitempty"` Certificate *Certificate `json:"certificate,omitempty"` }
type User ¶
type User struct { ID int `json:"id,omitempty"` UserName string `json:"username,omitempty"` Email string `json:"email,omitempty"` FirstName string `json:"firstname,omitempty"` LastName string `json:"lastname,omitempty"` Password string `json:"password,omitempty"` PasswordConfirmation string `json:"password_confirmation,omitempty"` PasswordAlgorithm string `json:"password_algorithm,omitempty"` Salt string `json:"salt,omitempty"` Title string `json:"title,omitempty"` Department string `json:"department,omitempty"` Company string `json:"company,omitempty"` Comment string `json:"comment,omitempty"` GroupID int `json:"group_id,omitempty"` RoleIDs []int `json:"role_ids,omitempty"` Phone string `json:"phone,omitempty"` State int `json:"state,omitempty"` Status int `json:"status,omitempty"` DirectoryID int `json:"directory_id,omitempty"` TrustedIDPID int `json:"trusted_idp_id,omitempty"` ManagerADID int `json:"manager_ad_id,omitempty"` Samaccountname string `json:"samaccountname,omitempty"` MemberOf string `json:"member_of,omitempty"` UserPrincipalName string `json:"userprincipalname,omitempty"` DistinguishedName string `json:"distinguished_name,omitempty"` ExternalID string `json:"external_id,omitempty"` OpenidName string `json:"openid_name,omitempty"` InvalidLoginAttempts int `json:"invalid_login_attempts,omitempty"` CustomAttributes map[string]interface{} `json:"custom_attributes,omitempty"` }
type UserQuery ¶
type UserQuery struct { CreatedSince time.Time `json:"created_since,omitempty"` CreatedUntil time.Time `json:"created_until,omitempty"` UpdatedSince time.Time `json:"updated_since,omitempty"` UpdatedUntil time.Time `json:"updated_until,omitempty"` LastLoginSince time.Time `json:"last_login_since,omitempty"` LastLoginUntil time.Time `json:"last_login_until,omitempty"` FirstName string `json:"firstname,omitempty"` LastName string `json:"lastname,omitempty"` Email string `json:"email,omitempty"` Username string `json:"username,omitempty"` Samaccountname string `json:"samaccountname,omitempty"` DirectoryID string `json:"directory_id,omitempty"` ExternalID string `json:"external_id,omitempty"` AppID string `json:"app_id,omitempty"` UserIDs []int `json:"user_ids,omitempty"` CustomAttributes map[string]interface{} `json:"custom_attributes,omitempty"` Fields []string `json:"fields,omitempty"` }
Click to show internal directories.
Click to hide internal directories.