dynamic-client-registration

star 41

Support OAuth 2.0 Dynamic Client Registration in authorization servers. Use when building or reviewing authorization server client management for MCP ecosystems.

RedHatProductSecurity By RedHatProductSecurity schedule Updated 5/4/2026

name: dynamic-client-registration description: Support OAuth 2.0 Dynamic Client Registration in authorization servers. Use when building or reviewing authorization server client management for MCP ecosystems. category: "secure_development" subcategory: "authorization-server"

Dynamic Client Registration for Authorization Servers

Security Recommendation

Authorization servers MAY support the OAuth 2.0 Dynamic Client Registration Protocol (RFC 7591). This allows MCP clients to register automatically without manual intervention.

Registration Endpoint

If supported, the authorization server MUST expose a registration_endpoint in its discovery metadata and handle registration requests per RFC 7591.

Example Registration Request

POST /register HTTP/1.1
Host: auth.example.com
Content-Type: application/json

{
  "client_name": "MCP Client App",
  "redirect_uris": ["https://client.example.com/callback"],
  "grant_types": ["authorization_code"],
  "response_types": ["code"],
  "token_endpoint_auth_method": "none",
  "scope": "tools:read tools:execute"
}

Example Registration Response

{
  "client_id": "generated-client-id",
  "client_id_issued_at": 1700000000,
  "redirect_uris": ["https://client.example.com/callback"],
  "grant_types": ["authorization_code"],
  "response_types": ["code"],
  "token_endpoint_auth_method": "none"
}

Security Considerations

Concern Mitigation
Abuse/spam registrations Rate limit registration endpoint, require initial access tokens
Malicious redirect URIs Validate redirect URIs strictly (HTTPS, no open redirectors)
Resource exhaustion Limit number of registrations per IP/token, expire unused registrations
Privilege escalation Only grant requested scopes that are within the server's allowed set

Implementation Checklist

  • Expose registration_endpoint in discovery metadata
  • Implement RFC 7591 registration request processing
  • Validate all client metadata fields per OAuth 2.1 requirements
  • Enforce HTTPS-only redirect URIs
  • Rate limit registration requests
  • Optionally require initial access tokens for registration
  • Auto-expire inactive client registrations
  • Log all registration events for audit
Install via CLI
npx skills add https://github.com/RedHatProductSecurity/prodsec-skills --skill dynamic-client-registration
Repository Details
star Stars 41
call_split Forks 4
navigation Branch main
article Path SKILL.md
More from Creator
RedHatProductSecurity
RedHatProductSecurity Explore all skills →