Help us shape the future of Go! Take the 2026 Go Developer Survey

scim

package
v2.9.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 21, 2026 License: Apache-2.0 Imports: 23 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrSCIMRequestRequired is returned when SCIM request context is missing
	ErrSCIMRequestRequired = errors.New("scim request context is required")
)

Functions

func NewSCIMServer

func NewSCIMServer(rt *integrationsruntime.Runtime) (scim.Server, error)

NewSCIMServer creates a new SCIM server with User and Group resource handlers

func WithRequest

func WithRequest(ctx context.Context, req *Request) context.Context

WithRequest stores the SCIM request context

Types

type DirectoryGroupHandler

type DirectoryGroupHandler struct {
	// Runtime provides shared integration execution capabilities
	Runtime *integrationsruntime.Runtime
}

DirectoryGroupHandler implements scim.ResourceHandler writing to DirectoryGroup instead of Group. All records are scoped to the integration identified in the request context

func (*DirectoryGroupHandler) Create

Create stores a new DirectoryGroup record derived from SCIM group attributes, upserting by (integration_id, external_id) when a match exists

func (*DirectoryGroupHandler) Delete

func (h *DirectoryGroupHandler) Delete(r *http.Request, id string) error

Delete sets the DirectoryGroup status to DELETED

func (*DirectoryGroupHandler) Get

Get returns the DirectoryGroup corresponding to the given identifier, scoped by integration

func (*DirectoryGroupHandler) GetAll

GetAll returns a paginated list of DirectoryGroup resources scoped by integration

func (*DirectoryGroupHandler) Patch

func (h *DirectoryGroupHandler) Patch(r *http.Request, id string, operations []scim.PatchOperation) (scim.Resource, error)

Patch applies a set of patch operations to the DirectoryGroup identified by id

func (*DirectoryGroupHandler) Replace

Replace replaces all attributes on the DirectoryGroup identified by id

type DirectoryUserHandler

type DirectoryUserHandler struct {
	// Runtime provides shared integration execution capabilities
	Runtime *integrationsruntime.Runtime
}

DirectoryUserHandler implements scim.ResourceHandler writing to DirectoryAccount instead of User. All records are scoped to the integration identified in the request context

func (*DirectoryUserHandler) Create

Create stores a new DirectoryAccount record derived from SCIM user attributes, upserting by (integration_id, external_id) when a match exists

func (*DirectoryUserHandler) Delete

func (h *DirectoryUserHandler) Delete(r *http.Request, id string) error

Delete sets the DirectoryAccount status to DELETED

func (*DirectoryUserHandler) Get

Get returns the DirectoryAccount corresponding to the given identifier, scoped by integration

func (*DirectoryUserHandler) GetAll

GetAll returns a paginated list of DirectoryAccount resources scoped by integration

func (*DirectoryUserHandler) Patch

func (h *DirectoryUserHandler) Patch(r *http.Request, id string, operations []scim.PatchOperation) (scim.Resource, error)

Patch applies a set of patch operations to the DirectoryAccount identified by id

func (*DirectoryUserHandler) Replace

func (h *DirectoryUserHandler) Replace(r *http.Request, id string, attributes scim.ResourceAttributes) (scim.Resource, error)

Replace replaces all attributes on the DirectoryAccount identified by id

type Request

type Request struct {
	// Installation is the resolved SCIM integration installation
	Installation *generated.Integration
	// BasePath is the stable SCIM route prefix for this installation, ending in /v2
	BasePath string
}

Request carries the resolved installation context for SCIM request processing

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL