Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
ISO/IEC 26133:2024 defines OpenID Connect Dynamic Client Registration 1.0, which specifies how an OpenID Connect Relying Party (RP) can dynamically register with an OpenID Provider (OP). The RP provides information about itself to the OP and obtains the credentials needed to interact with it, including an OAuth 2.0 Client ID.
Before an RP can use OpenID Connect services, it must establish a relationship with the OP. Dynamic registration automates this process, eliminating the need for manual, out-of-band registration for each client application. This is particularly valuable in ecosystems where many clients need to interact with many providers.
During registration, the RP presents its metadata to the OP. The following table describes key metadata fields:
| Metadata Field | Required | Description |
|---|---|---|
redirect_uris |
Yes | Array of redirection URI values for the client |
response_types |
Optional | Array of OAuth 2.0 response type values (default: code) |
grant_types |
Optional | Array of OAuth 2.0 grant type values |
application_type |
Optional | web or native to indicate client type |
client_name |
Optional | Human-readable name of the client |
logo_uri |
Optional | URL for the client’s logo |
token_endpoint_auth_method |
Optional | Authentication method for the Token Endpoint |
contacts |
Optional | Array of email addresses for client administrators |
sector_identifier_uri |
Optional | URL for pairwise identifier validation |
redirect_uris field is the only REQUIRED metadata field — and for good reason. Incorrect redirect URI validation is the most common source of OAuth 2.0 security vulnerabilities. Every registered redirect URI must be an exact match target for authorization responses.The standard defines two primary endpoints for client registration management:
Client Registration Endpoint: This is an OAuth 2.0 protected resource through which a client can be registered at an Authorization Server. The RP sends a JSON document containing its metadata, and the OP responds with a Client Information Response containing the registered client’s identifier and additional metadata.
Client Configuration Endpoint: Once registered, clients can manage their registration information through this endpoint. The endpoint URL is returned by the OP in the initial registration response. Clients use a Registration Access Token to authenticate when accessing their configuration.
| Operation | HTTP Method | Endpoint | Description |
|---|---|---|---|
| Register | POST | Registration Endpoint | Create a new client registration |
| Read | GET | Configuration Endpoint | Retrieve current registration |
| Update | PUT | Configuration Endpoint | Modify client configuration |
| Delete | DELETE | Configuration Endpoint | Remove client registration |
Dynamic client registration introduces unique security considerations. Important engineering practices include:
sector_identifier_uri allows the RP to host a file containing its set of redirect URIs. The OP fetches this file to validate that all registered redirect URIs belong to the same entity.A: In stateful registration, the OP stores client metadata and returns a client ID referencing that stored state. In stateless registration (using software statements), all client metadata is encoded in a signed JWT, allowing the OP to derive client information without persistent storage. Stateless registration scales more easily but limits the ability to update registration after initial creation.
A: Yes. The Client Configuration Endpoint supports read, update, and delete operations. You use the Registration Access Token returned during initial registration to authenticate these operations. If you lose the Registration Access Token, you may need to re-register.
A: The OP returns a registration error response with appropriate error codes. Common reasons include invalid redirect URI format, unsupported metadata fields, or missing required fields. The standard defines specific error codes to help diagnose the issue.
A: Native apps can use dynamic registration like web apps, but with important caveats. The client secret (if issued) cannot be securely stored on the device. The recommended approach is to use the Authorization Code Flow with PKCE and avoid reliance on client secrets. Some OPs also issue application_type: native-specific redirect URIs like custom schemes or loopback interface redirects.