IdentityServer3证书错误 - 根据验证过程

时间:2016-08-05 19:07:57

标签: ssl-certificate identityserver3

在Server1中 - (IIS托管,自签名证书)

  • 我托管了名为myDevIds3.com的IdentityServer3,使用SSL将Url暴露给互联网。
  • 我托管了ASP.Net MVC客户端,它使用ids3进行登录,工作正常。
  • 我托管的Web API由MVC客户端调用,使用ids3(在同一台服务器上),工作正常。

在Development Server / Box中。

  • 我托管了MVC客户端(X),它使用客户端js famework(https://github.com/IdentityModel/oidc-client-js)连接到Server1托管的ids3(myDevIds3.com),工作正常。
  • 我托管了一个由MVC Client(X)调用的Web API,而API则使用myDevIds3.com进行授权。 [这是问题]

当我尝试访问此Web API时,我在Startup.cs中收到错误 - 根据验证程序,远程证书无效。

但我尝试了其他方式。

  • 我托管了另一个IdentityServer3,MVC客户端,API也在开发框中,映射到本地身份服务器3和MVC客户端& apit,看起来一切似乎都在解决任何问题。如果我把所有东西放在一个盒子里,一切似乎都在起作用。

访问本地开发盒中托管的Web API中的远程机器IdentityServer3有什么问题?为什么我能够从浏览器访问,而不是从开发框IIS访问?

感谢您的时间和投入。

2 个答案:

答案 0 :(得分:2)

因为您的ssl证书可能是自制的而且不受信任。猜猜Chrome也会对此提出警告(?)。

答案 1 :(得分:1)

注意:建议不要将此解决方案用于生产,但这可用于数据不重要的非生产环境。

在Startup.cs(Web API)中添加以下代码

ServicePointManager
    .ServerCertificateValidationCallback += 
    (sender, cert, chain, sslPolicyErrors) => true;

这可以在下面的链接中提及。

C# Ignore certificate errors?

我发现这个解决方案很有帮助,因为我想让identityserver3 DEV集中托管,多个开发人员需要访问它。希望它可以帮到某人。