为什么在一个环境中而不是在另一个环境中重定向Owin OAuth?

时间:2019-01-24 20:16:23

标签: c# asp.net-mvc oauth-2.0 owin

我们有一个在Microsoft Owin上运行的自定义OAuth 2身份验证服务器。在我们的auth端点中,我们调用Owin的SignIn方法来生成JWT并重定向到客户端。

Request
    .GetOwinContext()
    .Authentication
    .SignIn(authenticationProperties, new[] { claimsIdentity });

这在我们已部署到其中一台服务器上的服务器上有效,而在另一台服务器上则无法使用。

  • 服务器A 返回请求URI中redirect_uri中URI的302重定向
  • 服务器B 返回200 OK

什么会导致Owin在此处不发出302?两台服务器上的URL查询参数相同。

诊断

这些服务器几乎完全相同,除了它们托管身份验证服务器的基本URL。

  • 服务器比较
    • .NET Framework版本:两者都为4.7.2
    • Windows版本:两者上的Server 2012 R2
    • 已部署的DLL:两者相同
  • 流量比较
    • URI参数:两者均相同
    • 标题
      • 服务器A具有位置标头和302状态代码
      • 服务器B没有位置和200个状态代码

0 个答案:

没有答案