公司需要一个简单的网站,包头网站建设奥北,当阳网站建设电话,如何给网站续费IdentityServer4 默认提供了两种证书加密配置#xff1a;
services.AddIdentityServer().AddDeveloperSigningCredential().AddTemporarySigningCredential();
这两种证书加密方式#xff0c;都是临时使用#xff0c;每次重启项目的时候#xff0c;都会重新生成一个新的证…IdentityServer4 默认提供了两种证书加密配置
services.AddIdentityServer().AddDeveloperSigningCredential().AddTemporarySigningCredential();
这两种证书加密方式都是临时使用每次重启项目的时候都会重新生成一个新的证书这时候就会导致一个问题重启之前生成的access_token在重启之后就不适用了因为证书改变了对应的加密方式也改变了所以就会出现下面这个问题 错误信息 Www-Authenticate:Bearer errorinvalid_token, error_descriptionThe signature key was not found 解决方式就是始终使用一个证书我们先这样配置
services.AddIdentityServer().AddDeveloperSigningCredential();
可以查看下AddDeveloperSigningCredential实现源码启动项目IdentityServer4 会在项目目录中生成一个tempkey.rsa证书文件
{KeyId: 4e1765de45ef639261115198826dfea7,Parameters: {D: FnB7kIinBgoZDaRqIrRQHEF45FBF9amOrTn8oFdmsxPqJbh11bHeCw11AtCCC4p1mm750onDXePyoBHymr/wNn40VmGdhR4hnObHhhw5pyQKECIS41DFDatCZif9uhDgHsOvYHMRVNSapDFoDUvbTE6t7rv4prn2fDt5mzRD9AqdT2HyTcwa/H1haaZNwmy3UevYYy8ya4kKXvjRo6O7BMBhyBvHgezQ57Ye/NfZfDMITs4djbqELrYVXCTMltNsWWhQtS62cqvKboxoiXfSm67u/li5Fdusc5Z2zsyt5rE/V8h/ffBvS9N9v0VoDTdFqLYkuul0DvTZ/pqXtMQ,DP: XQDf46csbwu/xXjwo5VQQ8sKVlVBLuxSNTAbNS6O/aCg9eEjZ58EJ712JgqqORcDMg5JRejN3Zxxoij4roJogyvvw6QSws/HUTmtuuudgT59OB1TyNGihMVSTLXaw4Kgdj8D8IK8v0okdFEpYugzIIFe1yl0lSzR7fkFNKC0,DQ: 4TvT9ujJ38sTluz0dUSIUD3NCWJOMDKOB/cL3RaDyMf/MTSxNFfWDuuW55F2P8mncHhqLuANcg2l3h8xom1ucnve45JNoWja4fpWQ16rmijPc5yKRe0uAGEaXJiTAEvIxXG18zvNA8FabL2X1h1r35ZLZFYjEyhkqQ7u5k,Exponent: AQAB,InverseQ: nTAEt8vDlAn6h7Z1Ey1x4Z56OfOmCvY01nte4f3OuSmBXoEaTSoGsXScweAMoSGb0aOG1qpvErtYJykREeLJxvm4P3DAHL5lJWvDKPvCWJOD9jfzhBUyIhCoqQ8EIHjFxBNKyNefAsVuKdH6RApuhpF8XVhR59zLawUQWLEg,Modulus: 43j4tvNZy7IxuiDwZzWv9KiS5kSYIeBqEvQ7zkQmRT3IEsseiTv698iQx8qnde8FeGFEa8O6igFU2VXqFyWJilTuPmeBPJxIMCqfxdxF96giVSpN4rOFaH/VIPNTQoYCLFwcUR2saFywUeKWpsRFhQCymsFIk3AlWu7jcqgKHrELsJpn5KVmedb6JZcVKMIfTrcY6hWQz2JNEhTOEI10ZVZ7ueEp2Q21/udvp47wPMhzriXJTFP7Y4ozU2THbuwIqCXM5DNBGUpEug0vlCAhwn6nvAo8e9fT0lpUzTd2T8wWzwuHkAgyjB0XTzSYR1fMJIKH1zDs25RqmlepgQ,P: 9lGtQw9yXz4nbepESFDxAMfDlmiI9Gj3Q3FecKIgGVVi9WVr19lzBcszhsVybA8n1OyPXHdOyuSWOiVp69ibo5OOXLL4iWzY1VOouXeZrYimxNPvVKlRf8AsVcv3n/0/FEhwY9gnQm4PZYUGwQ96WZ5Z/CWJ9xTORg54Wh79hk0,Q: 7Gmr/h33bM9W4YghtNh3/etECuT/RQ1LMS5uBXxXdvUl6wSm2ec/CBRobxVHG2pDXdr0pegn0Yz4MprsLtS5KvFg6yopI3Y3TptTGNZPtbd1O7P4i6bRNOYCq0Y99mkGofqAlAMnDGSA2EJN2ugPjLelC7GWtfzNG5NMgU}
}
AddDeveloperSigningCredential中代码执行会先判断tempkey.rsa证书文件是否存在如果不存在的话就创建一个新的tempkey.rsa证书文件如果存在的话就使用此证书文件。
所以我们配置的时候传递一个tempkey.rsa证书文件名就可以了
services.AddIdentityServer().AddDeveloperSigningCredential(tempkey.rsa);
当然你也可以对tempkey.rsa证书文件进行重命名操作。
参考资料
The signature key was not foundIdentityServer4 Configuring servicesIdentityServer4 Cryptography, Keys and HTTPSASP.NET Core 实现 OAuth2.0 的 ResourceOwnerPassword 和 ClientCredentials 模式IdentityServerBuilderExtensionsCrypto.cs
相关文章
IdentityServer4(OAuth2.0服务)折腾笔记IdentityServer4 实现 OpenID Connect 和 OAuth 2.0IdentityServer4 使用OpenID Connect添加用户身份验证IdentityServer4 ASP.NET Core的OpenID Connect OAuth 2.0框架学习保护APIIdentityServer4 指定角色授权Authorize(Rolesadmin))
原文地址http://www.cnblogs.com/xishuai/p/identityserver4-signing-credential-rsa.html.NET社区新闻深度好文微信中搜索dotNET跨平台或扫描二维码关注