Skip to content

Comments

Reworked supported algorithm options#2026

Merged
josephdecock merged 9 commits intomainfrom
jmdc/disco-token-algs
May 22, 2025
Merged

Reworked supported algorithm options#2026
josephdecock merged 9 commits intomainfrom
jmdc/disco-token-algs

Conversation

@josephdecock
Copy link
Member

  • Removed AllowedJwtAlgorithms
  • Added SupportedClientAssertionSigningAlgorithms, which controls allowed algs for private_key_jwt
  • Added SupportedRequestObjectSigningAlgorithms, which controls allowed algs for JAR
  • No alg validation is now done in TokenValidator, instead we rely on the fact that we are validating tokens signed by IdentityServer, and that its signing keys (and their algorithms) are configurable.

@josephdecock josephdecock requested a review from bhazen as a code owner May 22, 2025 01:16
@josephdecock josephdecock self-assigned this May 22, 2025
@josephdecock josephdecock added the area/products/is IdentityServer label May 22, 2025
@josephdecock josephdecock added this to the is-7.3.0 milestone May 22, 2025
@josephdecock josephdecock force-pushed the jmdc/disco-token-algs branch from 4cdb287 to 44c3c04 Compare May 22, 2025 15:07
Test that the token_endpoint_auth_signing_alg_values_supported are only included if private_key_jwt is enabled.
The discovery document now includes
TokenEndpointAuthSigningAlgorithmsSupported only if
private_key_jwt is a supported authentication method.
Added a new test to verify request object signing algorithms in the
discovery document match the configured AllowedJwtAlgorithms.
- SupportedClientAssertionSigningAlgorithms controls allowed algs for
  private_key_jwt
- SupportedRequestObjectSigningAlgorithms controls allowed algs for JAR
- AllowedJwtAlgorithms no longer applies to TokenValidator, instead we
  rely on the fact that we are validating tokens signed by
  IdentityServer, and that its signing keys (and their algorithms) are
  configurable.
If the appropriate supported algorithm option for DPoP, private_key_jwt,
or JAR are set to null or empty, we omit that from discovery. This is
non-standard behavior that we advise against in the xmldoc, but it is
consistent with historical behavior of IdentityServer.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/products/is IdentityServer

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants