Documentation
¶
Overview ¶
Package scim implements a very basic scim client with utility needed to extract users from IdP Groups A scim client is initialized via it's base url and authentication method. As for now only basic auth is implemented
Index ¶
- Constants
- Variables
- func ReturnDefaultGroupResponseMockServer() *httptest.Server
- func ReturnUserResponseMockServer() *httptest.Server
- func SetAttributes(attributes ...Attribute) string
- type Attribute
- type AuthType
- type BasicAuthConfig
- type BearerTokenConfig
- type Config
- type Filter
- type ISCIMClient
- type QueryOptions
- type Resource
- type ResourceMeta
- type ResponseBody
- type UserEmails
- type UserNameField
Constants ¶
View Source
const (
InitialStartID = "initial"
)
Variables ¶
View Source
var ( AttrName = Attribute{/* contains filtered or unexported fields */} AttrEmails = Attribute{/* contains filtered or unexported fields */} AttrDisplayName = Attribute{/* contains filtered or unexported fields */} AttrActive = Attribute{/* contains filtered or unexported fields */} AttrMembers = Attribute{/* contains filtered or unexported fields */} )
Predefined SCIM attributes
Functions ¶
func SetAttributes ¶
SetAttributes sets a comma-separated string for multiple attributes
Types ¶
type Attribute ¶
type Attribute struct {
// contains filtered or unexported fields
}
Attribute represents a SCIM attribute
func AttrCustom ¶
type BasicAuthConfig ¶
type BearerTokenConfig ¶
type Config ¶
type Config struct { URL string AuthType AuthType BasicAuth *BasicAuthConfig BearerToken *BearerTokenConfig }
type Filter ¶
type Filter struct {
// contains filtered or unexported fields
}
type ISCIMClient ¶
type ISCIMClient interface { GetUsers(ctx context.Context, options *QueryOptions) ([]Resource, error) GetGroups(ctx context.Context, options *QueryOptions) ([]Resource, error) }
func NewSCIMClient ¶
func NewSCIMClient(logger logr.Logger, config *Config) (ISCIMClient, error)
NewSCIMClient - creates a new SCIM client with an auth transport
type QueryOptions ¶
type Resource ¶
type Resource struct { ID string `json:"id"` Meta ResourceMeta `json:"meta"` UserName string `json:"userName"` Name UserNameField `json:"name"` DisplayName string `json:"displayName"` Active bool `json:"active"` Emails []UserEmails `json:"emails"` }
func (Resource) ActiveUser ¶
func (Resource) PrimaryEmail ¶
type ResourceMeta ¶
type ResponseBody ¶
type UserEmails ¶
type UserNameField ¶
Click to show internal directories.
Click to hide internal directories.