Skip to content

feat(scim): Add SCIM /Users endpoints - #2747

Draft
xlgmokha wants to merge 3 commits into
scim/2-corefrom
scim/3-users
Draft

feat(scim): Add SCIM /Users endpoints#2747
xlgmokha wants to merge 3 commits into
scim/2-corefrom
scim/3-users

Conversation

@xlgmokha

Copy link
Copy Markdown
Contributor

What kind of change does this PR introduce?

Feature. Add SCIM endpoints for core User schema.

What is the current behavior?

These endpoints do not exist yet.

What is the new behavior?

Adds:

MethodPathDescription
GET/scim/v2/UsersList / paginate / sort SCIM users
GET/scim/v2/Users/{id}Get a specific SCIM user
POST/scim/v2/UsersCreate a new SCIM user
PUT/scim/v2/Users/{id}Replace a specific SCIM user
DELETE/scim/v2/Users/{id}Delete (soft) a specific SCIM user
GET/scim/v2/ResourceTypes/{id}Resource Type endpoint for User resource
GET/scim/v2/Schemas/{id}Schema description endpoint for User schema

Additional context

  • The /Users endpoints authenticate with a bearer SCIM token. Tokens are stored hashed in the new scim_tokens table, are revocable (revoked_at) and expirable (expires_at), and resolve to an sso_provider_id that scopes every query to a single tenant.
  • The new /ResourceTypes/{id} and /Schemas/{id} routes are discovery metadata and are unauthenticated, consistent with the existing /ServiceProviderConfig, /ResourceTypes, and /Schemas endpoints.
  • All SCIM routes stay behind the existing requireScimServerEnabled gate.
  • New migrations add the scim_users and scim_tokens tables. A user's SCIM payload is stored as a JSONB resource column and deletes are soft using deleted_at.
  • PATCH and filtering are not implemented yet. List rejects any filter parameter.

Extracted from #2731

@xlgmokha
xlgmokha changed the base branch from master to scim/2-coreAugust 26, 2026 00:59
@xlgmokhaxlgmokha self-assigned this Aug 26, 2026
@xlgmokha
xlgmokhaforce-pushed the scim/3-users branch 2 times, most recently from 6e4416d to edff202CompareAugust 26, 2026 22:33
@xlgmokha
xlgmokhaforce-pushed the scim/3-users branch 2 times, most recently from 3538a0b to 77782abCompareAugust 26, 2026 23:31
@xlgmokha
xlgmokhaforce-pushed the scim/3-users branch 2 times, most recently from 4709682 to e114c8eCompareAugust 27, 2026 16:17
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@xlgmokha