IdentityServer4:如何添加持久密钥并在生产中部署?

时间:2017-09-01 01:56:41

标签: c# asp.net-core oauth-2.0 identityserver4 asp.net-core-2.0

快速入门示例代码使用AddTemporarySigningCredential

  

AddTemporarySigningCredential 扩展程序会创建临时密钥   每次开始时签署令牌的材料。这可能是有用的   开始,但需要用一些持久性密钥替换   生产场景的材料。有关详情,请参阅cryptography文档   信息。

是否有关于如何使用我自己的持久密钥替换AddTemporarySigningCredential()并在生产中部署identityserver的分步指南?

2 个答案:

答案 0 :(得分:4)

您可以选择如何拥有“持久”密钥。基本上,您需要使用AddSigningCredential()扩展方法来执行此操作。你会发现它有一个X509Certificate2参数。在生产中部署此方法的最简单方法是将证书存储在证书库中并从X509Store中检索它。但我建议使用Azure Key Vault或Amazon Key Management Service或任何其他类似云产品形式的秘密商店。不要将证书部署为发布工件的一部分。而是从安全的地方检索您的证书。

答案 1 :(得分:4)

我仍然必须自己做,但根据docs,你应该使用AddSigningCredential。我在MSDN找到了一个条目,在Adding IdentityServer4部分对其进行了解释。