Documentation
¶
Overview ¶
Package scim provides SCIM 2.0 protocol provisioning capabilities (reserved module).
Index ¶
Constants ¶
View Source
const ( ModelSCIMUserMetadata = "scim_user_metadata" ModelSCIMGroups = "scim_groups" )
View Source
const PluginID = "scim"
Variables ¶
Functions ¶
func RegisterSchema ¶
RegisterSchema registers SCIM user metadata and group models in the unified schema.
Types ¶
type GroupRecord ¶
type GroupRecord struct {
ID string `json:"id"`
DisplayName string `json:"display_name"`
MemberIDs []string `json:"member_ids"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
}
GroupRecord represents a provisioned SCIM group.
type SCIMProvider ¶
type SCIMProvider interface {
CreateUser(ctx context.Context, res *v2.UserResource) (*v2.UserResource, error)
GetUser(ctx context.Context, id string) (*v2.UserResource, error)
UpdateUser(ctx context.Context, res *v2.UserResource) (*v2.UserResource, error)
DeleteUser(ctx context.Context, id string) error
ListUsers(ctx context.Context, startIndex, count int) (*v2.ListResponse, error)
CreateGroup(ctx context.Context, res *v2.GroupResource) (*v2.GroupResource, error)
GetGroup(ctx context.Context, id string) (*v2.GroupResource, error)
UpdateGroup(ctx context.Context, res *v2.GroupResource) (*v2.GroupResource, error)
DeleteGroup(ctx context.Context, id string) error
ListGroups(ctx context.Context, startIndex, count int) (*v2.ListResponse, error)
}
type UserMetadata ¶
type UserMetadata struct {
UserID string `json:"user_id"`
ExternalID string `json:"external_id"`
Active bool `json:"active"`
GivenName string `json:"given_name"`
FamilyName string `json:"family_name"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
}
UserMetadata stores SCIM-specific attributes bound to a Core User.
Click to show internal directories.
Click to hide internal directories.