Add OAuth2 Client ID Metadata Document support

MCP connectors such as ChatGPT and Claude register via HTTPS
client_id URLs instead of pre-provisioned GIDs. Fetch and cache
their metadata documents, upsert clients on first use, and
advertise CIMD in OIDC discovery when allowed URLs are configured.

Signed-off-by: Bryan Frimin <bryan@probo.com>
This commit is contained in:
Bryan Frimin
2026-06-19 16:35:53 +02:00
parent 9e6f1b9e8f
commit 5b0d3e5052
22 changed files with 1836 additions and 26 deletions

View File

@@ -96,6 +96,7 @@ func TestOAuth2_Discovery(t *testing.T) {
assert.Contains(t, discovery.ClaimsSupported, "email")
assert.Contains(t, discovery.ClaimsSupported, "email_verified")
assert.Contains(t, discovery.ClaimsSupported, "name")
assert.True(t, discovery.ClientIDMetadataDocumentSupported)
}
func TestOAuth2_ProtectedResourceMetadata(t *testing.T) {