无效的签名密钥 IdentityServer4

Invalid Signature Key IdentityServer4

我在使用 identityserver4 进行身份验证的应用程序中遇到了这个异常:

SecurityTokenInvalidSignatureException: IDX10503: Signature validation failed. Keys tried: 'Microsoft.IdentityModel.Tokens.RsaSecurityKey , KeyId: '. Exceptions caught: ''. token: '{"alg":"RS256","typ":"JWT"}.{"nbf":1501510053,"exp":1501510353,"iss":"http://localhost:5000","aud":"clientId","nonce":"636371068531446271.Nzc2YzRjZGMtN2M0Ny00MGZiLWI3NTQtN2Q2NWIxZGM5MWUyODY2MGE5NTgtYWMzNS00YWJmLWEyMDktNjcwMmJhYTlkYWJk","iat":1501510053,"c_hash":"teGUAAIvU0EY9L1WzjfI2Q","sid":"c870b6184744290472b157ce5992f8e0","sub":"a3915666-8586-476b-9166-b5b183af609e","auth_time":1501508734,"idp":"local","amr":["pwd"]}'.

目前,我没有可用于身份服务器登录凭据的证书。所以我尝试这段代码,有时可以,但我确定这是错误的。有人逐步了解如何在没有 .pfx 证书的情况下使用 SignInCredentials 吗?

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

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

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

使用

services.AddIdentityServer().AddDeveloperSigningCredential()

这将在首次启动时为您创建一个随机 RSA 密钥对并将其缓存在磁盘上。