Skip to content

feat(scim): implement /scim/v2/ServiceProviderConfig - #2662

Open
xlgmokha wants to merge 2 commits into
masterfrom
xlgmokha/auth-1362d
Open

feat(scim): implement /scim/v2/ServiceProviderConfig#2662
xlgmokha wants to merge 2 commits into
masterfrom
xlgmokha/auth-1362d

Conversation

@xlgmokha

Copy link
Copy Markdown
Contributor

What kind of change does this PR introduce?

Feature. GET /scim/v2/ServiceProviderConfig returns a real RFC-7643 document.

Extracted from #2643

What is the current behavior?

All three discovery endpoints return 501 in the RFC-7644 error form.
Nothing describes what this server supports, so a SCIM client has no way to discover its capabilities.

What is the new behavior?

A new scim/core package holds the SCIM 2.0 core schema types from RFC-7643.

The /ServiceProviderConfig endpoint reports every attribute RFC-7643 marks as REQUIRED. Each capability is set to supported: false.

authenticationSchemes advertises the OAuth bearer token scheme. A later PR will enforce it.

$ curl -s http://localhost:9999/scim/v2/ServiceProviderConfig | jq
{
  "schemas": [
    "urn:ietf:params:scim:schemas:core:2.0:ServiceProviderConfig"
  ],
  "patch": { "supported": false },
  "bulk": { "supported": false, "maxOperations": 0, "maxPayloadSize": 0 },
  "filter": { "supported": false, "maxResults": 0 },
  "changePassword": { "supported": false },
  "sort": { "supported": false },
  "etag": { "supported": false },
  "authenticationSchemes": [
    {
      "type": "oauthbearertoken",
      "name": "OAuth Bearer Token",
      "description": "Authentication scheme using the OAuth Bearer Token Standard",
      "specUri": "http://www.rfc-editor.org/info/rfc6750",
      "primary": true
    }
  ],
  "meta": {
    "resourceType": "ServiceProviderConfig",
    "location": "http://localhost:9999/scim/v2/ServiceProviderConfig"
  }
}

Additional context

@xlgmokha
xlgmokha changed the base branch from master to xlgmokha/auth-1362c July 30, 2026 23:11
@xlgmokha xlgmokha self-assigned this Jul 30, 2026
@xlgmokha xlgmokha changed the title feat(scim): implement ServiceProviderConfig feat(scim): implement /scim/v2/ServiceProviderConfig Jul 30, 2026
@xlgmokha
xlgmokha marked this pull request as ready for review July 30, 2026 23:17
@xlgmokha
xlgmokha requested a review from a team as a code owner July 30, 2026 23:17
@xlgmokha
xlgmokha force-pushed the xlgmokha/auth-1362d branch from 37af5c7 to e82b9b0 Compare July 30, 2026 23:26
@xlgmokha
xlgmokha force-pushed the xlgmokha/auth-1362d branch from e82b9b0 to e4946b0 Compare August 4, 2026 16:18
@xlgmokha
xlgmokha force-pushed the xlgmokha/auth-1362d branch from e4946b0 to e82b9b0 Compare August 4, 2026 16:43
@xlgmokha
xlgmokha force-pushed the xlgmokha/auth-1362d branch from e82b9b0 to 50ef933 Compare August 4, 2026 16:46
@xlgmokha
xlgmokha force-pushed the xlgmokha/auth-1362d branch 2 times, most recently from f5400b2 to fe695d5 Compare August 4, 2026 17:27
@xlgmokha
xlgmokha force-pushed the xlgmokha/auth-1362d branch from fe695d5 to e005c5f Compare August 4, 2026 19:52
@xlgmokha
xlgmokha force-pushed the xlgmokha/auth-1362d branch from e005c5f to 2c377ff Compare August 4, 2026 20:05
Comment thread internal/api/scim/core/service_provider_config.go Outdated
Comment thread internal/api/scim/core/service_provider_config.go Outdated
Comment thread internal/api/scim/core/service_provider_config.go Outdated
Comment thread internal/api/scim/core/service_provider_config.go Outdated
Base automatically changed from xlgmokha/auth-1362c to master August 6, 2026 15:21
@xlgmokha
xlgmokha force-pushed the xlgmokha/auth-1362d branch 2 times, most recently from dba5edd to c2b2d9e Compare August 6, 2026 15:37
Add a core package for SCIM and use it to answer `GET /scim/v2/ServiceProviderConfig`.
@xlgmokha
xlgmokha force-pushed the xlgmokha/auth-1362d branch from c2b2d9e to c50dde5 Compare August 6, 2026 17:53
Sign up for free to 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.

2 participants