Skip to content

DCR ignores advertised token endpoint authentication methods #1355

Open

Description

@dux-web

Problem

AuthorizationManager::register_client currently always sends
token_endpoint_auth_method: "none". An authorization server can advertise
token_endpoint_auth_methods_supported, including
client_secret_basic or client_secret_post, but dynamic registration does
not currently use that metadata.

This prevents registration against servers that require a confidential client
authentication method. It can also register a confidential method without
checking that the registration response supplied the secret needed to use it.

Proposed direction

  • Preserve the current public-client behavior when the metadata field is
    omitted.
  • When the field is present, choose the first SDK-supported method in this
    preference order: none, client_secret_basic, then
    client_secret_post.
  • Reject a malformed, empty, or unsupported advertised method list before
    sending a registration request.
  • If a confidential method is selected, require a non-empty client secret in
    the registration response.
  • Continue using the existing OAuth client configuration for Basic and POST
    authentication after registration.

The preference for none preserves a public client when the server supports
one; Basic is preferred over putting a secret in the request body when a
confidential client is required.

Planned validation

Focused recording-client tests would cover omitted metadata, each supported
method, mixed-method preference, malformed/empty/unsupported metadata, and
missing or empty confidential-client secrets. The rejection cases would also
verify whether a registration request was sent.

Would this selection and compatibility policy be acceptable for a focused PR?

Activity

  1. added
    bugSomething is not working
    P2Medium: important but non-blocking improvement
    T-securitySecurity-related changes
    ready for workIssue is well-defined and ready to be picked up
    on Oct 14, 2026
  2. github-actions commented on Oct 14, 2026

    @github-actions
    Contributor

    @bolinfest is on triage rotation this week and is the reviewer for this one.

    Codex labeled this bug / P2 (T-security). Please confirm or correct those labels.

    Automated triage. Labels are a first pass and the assigned maintainer has the final say.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

P2Medium: important but non-blocking improvementT-securitySecurity-related changesbugSomething is not workingready for workIssue is well-defined and ready to be picked up

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions