2017-06-14 170 views
2

我们目前只使用引用令牌作为访问令牌。这有我想如果我们能够通过包括一个可笑的长期有效性的自签名X509证书跳过整个证书管理地狱,并将它与我们的源代码(私人github上)存储 - 停止尖叫,这可能是有意义很快IdentityServer4签名证书:使用公共可用的证书+密钥?

我看到的最糟糕的情况是有人能够访问私钥(即任何员工或有权访问我们的github存储库的人)都可以发布任何JWT并在客户端使用它(角度) - 但这是客户端 - 侧。这些API通过IdentityServer访问令牌验证进行保护,并且所有客户端都被配置为使用引用令牌。

另一个可能的缺陷是,如果我们曾经补充说,使用智威汤逊访问令牌的客户端,但我实在不明白这种事情发生。

对我来说,使用源代码控制下的长寿命自签名的证书似乎是这种情况下最简单和好(-ish)解决方案- 除非我忽略了一些东西。我们会从来没有做SSL证书或类似的。我只关注IdentityServer4签名凭证以及专用标记的使用。

否则我们将不得不以某种方式获得证书延期(在运行时),证书管理等运行。我想我们可以实现ISigningCredentialStore管理证书所在的加载 - 但仍然留给我们如何处理在泊坞群证书(或只是简单的Docker容器)的问题。

我失去了一些东西在这里?这个解决方案会有什么缺陷吗?

回答

1

你能不能仅仅看它呢?

这样

var cert = new CertificateService().GetCertificate(appSettings.CertificateName, StoreName.TrustedPeople, StoreLocation.LocalMachine); 

services    
      .AddSigningCredential(cert); 
+0

我们正在使用的码头工人群,不想将证书烤成图像,所以我们不追求使用证书存储区的想法。但是,似乎我们可以挂载主机的证书存储(主机都是Linux)https://stackoverflow.com/a/26181780/2114813 - 是的,这可能会起作用:) – urbanhusky