Azure AD OAuth2 SSO静默身份验证

时间:2019-05-24 08:30:38

标签: oauth-2.0 azure-active-directory single-sign-on

我正在尝试让用户使用Microsoft Azure AD OAuth2进行静默身份验证。我在IFrame中为我的在线网站调用此网址:

https://login.microsoftonline.com/common/oauth2/v2.0/authorize?prompt=none&response_type=code&client_id=XXXXX-XXX&scope=openid profile offline_access User.ReadBasic.All

如果用户已登录,则在所有浏览器上都可以正常运行,并返回授权码。

但是对于加入域的计算机,这不适用于IE&Edge,但在Chrome上适用。 对于IE&Edge,授权页面返回error=interaction_required。但是,当从网址中删除prompt=none并在新的浏览器选项卡中调用它时,它将进行身份验证而没有任何交互。.

为什么IE&Edge在不需要加入域的计算机上进行交互,而Chrome却可以正常运行,那么为什么却不需要它?

1 个答案:

答案 0 :(得分:0)

一个有根据的猜测是,强制执行此行为以避免在用户未明确意识到的情况下将令牌传递给应用程序。基于iframe的应用程序与常规的Web应用程序不同,因为前者本质上以点击劫持https://en.wikipedia.org/wiki/Clickjacking的形式与它们相关联,因此存在更多的安全风险。