2017-07-31 58 views
0

我面对这个例外在我的验证的应用程序与identityserver4:无效的签名密钥IdentityServer4

SecurityTokenInvalidSignatureException:IDX10503:签名验证失败。 Keys尝试过:'Microsoft.IdentityModel.Tokens.RsaSecurityKey,KeyId: '。例外情况:''。 token:'{“alg”:“RS256”,“typ”:“JWT”}。{“nbf”:1501510053,“exp”:1501510353,“iss”:“http://localhost:5000”,“aud”:“clientId” “现时”: “636371068531446271.Nzc2YzRjZGMtN2M0Ny00MGZiLWI3NTQtN2Q2NWIxZGM5MWUyODY2MGE5NTgtYWMzNS00YWJmLWEyMDktNjcwMmJhYTlkYWJk”, “IAT”:1501510053, “c_hash”: “teGUAAIvU0EY9L1WzjfI2Q”, “SID”: “c870b6184744290472b157ce5992f8e0”, “子”: “a3915666-8586-476b-9166-b5b183af609e”,“auth_time “:1501508734,” IDP “:” 本地”, “AMR”:[ “PWD”]}”。

此时,我没有证书用于在身份服务器中登录凭据。所以我尝试这个代码,有时可以工作,但我确定这是错误的。有人有一步一步如何使用SignInCredentials没有.pfx证书?

var signinkey = new RsaSecurityKey(RSA.Create()); 

     var signingCredentials = new SigningCredentials(signinkey, 
      SecurityAlgorithms.RsaSha256); 

     // Adds IdentityServer 
     services.AddIdentityServer() 
      .AddSigningCredential(signingCredentials) 
... 

回答

2

使用

services.AddIdentityServer().AddDeveloperSigningCredential()

这将创建你在第一次发射随机RSA密钥对,并将它缓存到磁盘上。

+0

好的,但如果我的应用程序重新启动,我的令牌不会失效? –

+0

否 - 密钥将被重新使用,直到您删除密钥文件。 – leastprivilege

+0

我可以指出存储密钥的路径吗? –