Class IdentityServerBuilderExtensionsSigningKeys
- Namespace
- Microsoft.Extensions.DependencyInjection
- Assembly
- Fdyay.IdentityServer.Core.dll
Registering a signing key the host owns, instead of one this server generates.
public static class IdentityServerBuilderExtensionsSigningKeys
- Inheritance
-
IdentityServerBuilderExtensionsSigningKeys
- Inherited Members
Remarks
Pair either of these with KeyManagement.Enabled = false. On its own a registered credential changes
nothing about signing — its public half joins the JWKS so tokens it signed still validate, which is what a
migration needs, but the managed key keeps signing until the flag says otherwise.
Methods
AddSigningCredential(IIdentityServerBuilder, SecurityKey, string)
Signs with the given key and algorithm.
public static IIdentityServerBuilder AddSigningCredential(this IIdentityServerBuilder builder, SecurityKey key, string signingAlgorithm)
Parameters
builderIIdentityServerBuilderkeySecurityKeysigningAlgorithmstring
Returns
AddSigningCredential(IIdentityServerBuilder, SigningCredentials)
Signs with the given credential.
public static IIdentityServerBuilder AddSigningCredential(this IIdentityServerBuilder builder, SigningCredentials credentials)
Parameters
builderIIdentityServerBuildercredentialsSigningCredentials
Returns
AddSigningCredential(IIdentityServerBuilder, X509Certificate2, string)
Signs with the given certificate's private key.
public static IIdentityServerBuilder AddSigningCredential(this IIdentityServerBuilder builder, X509Certificate2 certificate, string signingAlgorithm = "RS256")
Parameters
builderIIdentityServerBuildercertificateX509Certificate2signingAlgorithmstring
Returns
AddValidationKey(IIdentityServerBuilder, SecurityKey, string)
Publishes a key in the JWKS and accepts it on validation, without signing with it.
public static IIdentityServerBuilder AddValidationKey(this IIdentityServerBuilder builder, SecurityKey key, string signingAlgorithm = "RS256")
Parameters
builderIIdentityServerBuilderkeySecurityKeysigningAlgorithmstring
Returns
Remarks
The other half of a manual rotation: sign with the new key, keep publishing the old one until every token it signed has expired. Without this, deploying a new key invalidates every token issued before it.