Skip to content

docs: async signing with a remote KMS via DefaultTokenCreationService - #1261

Merged
maartenba merged 3 commits into
mb/key-management-hsm-kmsfrom
mb/key-management-hsm-kms-async
Oct 14, 2026
Merged

maartenba merged 3 commits into
mb/key-management-hsm-kmsfrom
mb/key-management-hsm-kms-async

Conversation

@maartenba

@maartenba maartenba commented Oct 13, 2026 •

Copy link
Copy Markdown
Member

Follow-up to #1258 based on review feedback: SignatureProvider signing is synchronous by design, so this adds a section showing how to subclass DefaultTokenCreationService and override CreateJwtAsync to use a KMS SDK's async signing API (Azure Key Vault example).

  • Links to the new section from the "Remote cloud KMS" bullet.
  • The sample reads alg/kid from the registered signing credential so the JWT header matches discovery.
  • Registers the KMS public key with AddSigningCredential and disables automatic key management. Verified against DuendeSoftware/products: DefaultTokenService and AuthorizeResponseGenerator need a signing credential for at_hash/c_hash/s_hash, and DiscoveryResponseGenerator uses it for id_token_signing_alg_values_supported; AddSigningCredential(SigningCredentials) accepts a public-only AsymmetricSecurityKey.
  • Notes that SAML signing (SamlSigningService) does not go through ITokenCreationService and needs a private key, so it is not covered.
  • Sample targets v8; a note covers the v7 signatures.

Targets mb/key-management-hsm-kms so it can be merged into #1258.

@maartenba maartenba self-assigned this Oct 13, 2026
@maartenba maartenba added the documentation Improvements or additions to documentation label Oct 13, 2026
@maartenba maartenba added this to the 2026-Q4 milestone Oct 13, 2026
@maartenba
maartenba requested review from wcabus and a balanced review from Copilot October 13, 2026 12:39

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The sample bypasses configured signing-algorithm restrictions and omits a required CryptographyClient registration prerequisite.

2 open findings
What changed in this PR

Adds guidance for asynchronous remote KMS signing through DefaultTokenCreationService.

Changes:

  • Links remote KMS guidance to a new Azure Key Vault example.
  • Documents registration, version differences, rotation, and latency concerns.
File Description
astro/​src/​content/​docs/​identityserver/​fundamentals/​key-management.md Adds asynchronous KMS signing guidance and sample code.

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread astro/src/content/docs/identityserver/fundamentals/key-management.md Outdated
Comment thread astro/src/content/docs/identityserver/fundamentals/key-management.md Outdated

@wcabus wcabus left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor remark, looks good!

Co-authored-by: maartenba <485230+maartenba@users.noreply.github.com>
@maartenba
maartenba merged commit 70a1279 into mb/key-management-hsm-kms Oct 14, 2026
@maartenba
maartenba deleted the mb/key-management-hsm-kms-async branch October 14, 2026 09:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants