0

我正在开发与开发,分期和蓝绿色插槽的Azure应用程序。身份验证由Azure AD处理,用户重定向到microsoftonline登录页面。我昨天为每个插槽下载了发布配置文件,并发布了全部三个。我在多台计算机和浏览器上测试了它们,并且所有三个插槽都正常工作。Azure AD Web应用程序与僵尸登录重定向循环

今天早上我再次测试它们,并且只有开槽插槽有效。 Staging和bluegreen都重定向到登录页面,但一旦通过验证,可怕的无限重定向循环就会接管。

该网站需要SSL,但这似乎与问题没有关系。插槽工作时,通过HTTP或HTTPS访问它们都可以正确重定向到HTTPS。

回复URL也都设置好了,并且看起来与问题没有关系。

我不知道接下来要看什么。是否有定期运行的可能影响插槽的Azure进程?为什么插槽会工作几个小时然后停止工作?


环路:(发送请求[应用] - [槽] .azurewebsites.net =>等待[应用] - [槽] .azurewebsites.net =>等待login.microsoftonline.com = >发送请求到[app] - [slot] .azurewebsites.net)等等。

+0

是你使用* *身份验证/授权**或使用OpenID连接OWIN组件?你会介意分享URL请求循环?您可以使用Fiddler捕捉它。 –

+0

我们正在使用OpenIdConnect。 –

+0

您是否意味着在输入正确的用户名和密码后,它会重新定向到登录页面而不是您在请求中传递的rediect_uri? –

回答

0

事实证明,这个问题是由微软Owin的System.Web实现中的一个半知名的错误引起的:Katana Bug#197。甚至还有一个nuget包,其唯一目的是提供一种解决方法,直到bug被修复。截至2017年4月,Nuget软件包已下载96,000次。

enter image description here

从readme.md为Kentor.OwinCookieSaver NuGet包:

“的错误使得由Owin设置一些 场合神秘消失饼干。”

该解决方法简单易行。添加nuget软件包Kentor.OwinCookieSaver,然后在您的cookie处理中间件之前添加KentorOwinCookieSaver中间件。在此之前,立即

app.UseKentorOwinCookieSaver(); 

添加此

app.UseCookieAuthentication(new CookieAuthenticationOptions()); 

如果你想了解更多,这里有一些有用的链接: Owin Cookie Saver RepoKatana Project Bug #197

相关问题