加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

如果已登录到另一个Microsoft帐户,则使用WAAD作为IdP的Azure ACS

发布时间:2020-12-14 03:51:40 所属栏目:Windows 来源:网络整理
导读:我的依赖方应用程序使用 Windows Azure ACS进行用户身份验证.我已将ACS配置为使用Windows Azure Active Directory(WAAD)作为身份提供程序.这大部分都在工作,用户可以使用我在WAAD中为他们配置的身份登录我的应用程序.但是,我遇到的问题是,如果用户登录到另一
我的依赖方应用程序使用 Windows Azure ACS进行用户身份验证.我已将ACS配置为使用Windows Azure Active Directory(WAAD)作为身份提供程序.这大部分都在工作,用户可以使用我在WAAD中为他们配置的身份登录我的应用程序.但是,我遇到的问题是,如果用户登录到另一个Microsoft帐户,并且在同一浏览器实例中尝试登录我的应用程序,则会出现丑陋的ACS错误“ACS20012:请求不是有效的WS-Federation协议消息”.例如,如果我打开Chrome并使用我的Windows Live ID登录Windows Azure管理门户,然后打开新标签并尝试登录我的自定义应用程序,我将收到该错误.如果我打开一个新的浏览器或清除我的cookie我可以登录就好了.

我不应该能够在同一个浏览器实例中登录这两个应用程序吗?

解决方法

不.

这是要求在同一浏览器的实例中签署两个Google帐户(或两个Live ID,或两个帐户)(实际上是might be possible using Chrome,但一般情况是NO).今天这根本不可能.

然而,在ACS站点中看到该错误消息是很难看的.您是否在ACS中配置了ERROR URL for your relying party应用程序?虽然这个属性是可选的,但我强烈建议客户实际使用它,并正确处理对它的请求.我没有尝试过您的特定场景,但我认为ACS会??在配置后将用户重定向到Error Url,因此您至少知道会发生什么.

请为您的信赖方配置错误网址,并告知我们是否会将用户重定向到您的网站.然后,您将能够生成一些正确的错误消息.

UPDATE

如果您说这只发生在您登录Azure管理门户时,那么??(我的推测!)与使用WAAD的登录几乎相同.自WAAD的GA以来发生了一些变化.如果您遵循Fiddler的实际登录流程,您会注意到当登录管理门户的流程有点不同时,请登录Hotmail.如果您登录Hotmail,您只需重定向到login.live.com即可登录并返回Hotmail.

现在,如果您在导航到manage.windowsazure.com时检查流量,您会注意到第一次重定向到login.microsoftonline.com(这是WAAD处理!).然后重定向到login.live.com(这是您的Live ID帐户).我的猜测是来自login.microsoftonline.com的WAAD联合Live ID(login.live.com)进行身份验证.这就是您实际使用WAAD登录的原因,这就是您的应用程序失败的原因.

请执行以下实验以确认我是否错了:

>删除所有浏览器的cookie
>转到Hotmail并使用您的Live ID帐户登录
>现在打开新选项卡并打开通过ACS联合WAAD的自定义应用程序

我怀疑现在您将能够登录您的应用程序.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读