在IdentityServer4中添加临时签名凭据与添加签名凭据

在IdentityServer4中添加临时签名凭据与添加签名凭据,identityserver4,Identityserver4,根据文档,IdentityServer使用非对称密钥对对JWTs进行签名和验证。 可以在每次启动时创建新RSA的配置中使用AddTemporarySigningCredential(),也可以使用带有RSA密钥或证书的AddSigningCredential(..) 文档提到临时版本对于开发环境很有用,但没有说明在生产环境中使用临时版本的缺点 我有一个aspnetcore web api,其中客户端使用IdentityServer 4进行身份验证。该系统目前在使用临时签名凭证时运行良好,但我想知

根据文档,IdentityServer使用非对称密钥对对JWTs进行签名和验证。 可以在每次启动时创建新RSA的配置中使用
AddTemporarySigningCredential()
,也可以使用带有RSA密钥或证书的
AddSigningCredential(..)

文档提到临时版本对于开发环境很有用,但没有说明在生产环境中使用临时版本的缺点

我有一个aspnetcore web api,其中客户端使用IdentityServer 4进行身份验证。该系统目前在使用临时签名凭证时运行良好,但我想知道使用其他变体是否有任何好处


谢谢,

缺点是,每次重新启动IdentityServer时,密钥材料都会更改-或减少-使用以前的密钥材料签名的所有令牌都将无法验证


“临时”实际上只适用于没有其他关键材料的情况。

< P>而不是附加临时签名证书,考虑使用<强> AddiabaseDebug证书> <强>

发件人:

AddDeveloperSigningCredential

与临时签名凭据的用途相同。但是这个版本 将密钥保留到文件系统,以便在服务器之间保持稳定 重新启动。这解决了客户端/api元数据缓存时的问题 在开发过程中失去同步


警告:AddDeveloperSigningCredential仅当IdentityServer主机在一台机器上运行时才能使用,对于生产场,出于好奇,您需要使用AddSigningCredential

,在本例中,尝试使用旧密钥材料进行身份验证的客户机会发生什么情况?它会简单地请求一个新的令牌吗?AddTemporary似乎在支持.net core的最新预览中丢失了???@RasmusChristensen,正确,请参阅@MichaelFredgeim如何设置
.AddSigningCredential()
?@J86,这是一个单独的问题,有一些答案,例如和