是否可以防止通过 Azure Active Directory 自动登录

0 azure-active-directory

我们正在开发一个 SAAS 应用程序,该应用程序最近已配置为使用 Azure ADAL 进行身份验证。如果重要,我们将使用 oauth2 路由,使用 response_type: 代码。

但是,当我们测试应用程序时,如果浏览器已登录到不属于充当身份提供者的租户的 Azure 帐户,则会绕过密码提示,并且在 Azure 屏幕上登录失败,显示 AADSTS50020 - 在租户中找不到用户。

一方面,祝贺 Azure 找到已登录的用户!另一方面,没有办法选择不使用这个已登录的用户;它不会让用户有机会插入有效的凭据。

我们怎样才能防止这种情况发生?

核心问题是我们不希望访问我们网站并准备登录的用户在尝试登录我们的网站之前必须已经退出 Azure。

提前致谢。

Nan*_* Yu 5

请参考https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-protocols-oauth-code

您会发现在代码流程中请求授权码时,有一个 Parameter: prompt指示所需的用户交互类型。

有效值为:

登录:应提示用户重新进行身份验证。

select_account:提示用户选择账户,中断单点登录。用户可以选择一个现有的登录帐户,为记住的帐户输入他们的凭据,或者选择完全使用不同的帐户。

同意:已授予用户同意,但需要更新。应提示用户同意。

admin_consent:应提示管理员代表其组织中的所有用户同意

您可以使用prompt=login强制用户在该请求中输入他们的凭据,否定单点登录