Skip to content

Metadata fields are defined as required when they are actually optional #37

Description

@ThisIsMissEm

The ServerMetadata and ClientMetadata define the following properties as required, however, they are optional by specification:

  • ServerMetadata https://www.rfc-editor.org/rfc/rfc8414.html

    • responseTypesSupported
    • grantTypesSupported
    • codeChallengeMethodsSupported
    • tokenEndpointAuthMethodsSupported
    • tokenEndpointAuthSigningAlgValuesSupported
    • scopesSupported
    • authorizationResponseIssParameterSupported
    • requirePushedAuthorizationRequests
    • pushedAuthorizationRequestEndpoint
    • dpopSigningAlgValuesSupported
    • requireRequestUriRegistration
    • clientIdMetadataDocumentSupported
  • ClientMetadata (I'm the co-author of CIMDs, technically all properties other than client_id are optional)

    • dpopBoundAccessTokens

This could result in parsing errors from servers that are otherwise compliant.

This does create an issue in the Bluesky provider when building the TokenHandling as Bluesky (well, AT Protocol) requires Pushed Authorization Requests (PAR), however, for majority of OAuth servers, PAR isn't used. The tokenHandling method can't throw from what I can tell, so there's not really a good place to assert that PAR support is required.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions