【问题标题】:Azure AD B2C reuses previous user's token after logout when user changes当用户更改时,Azure AD B2C 在注销后重用以前用户的令牌
【发布时间】:2020-12-02 17:38:11
【问题描述】:

我们有一个应用程序,它使用 MSAL.js 通过 Active Directory B2C 向其 Azure Active Directory 验证客户。将来,我们将在组合中引入其他 IDP,并将它们也连接到 B2C。 B2C 通过自定义策略进行配置。 SSO 会话范围当前设置为租户。 问题是当用户注销应用程序(我们称为 MSAL.js 注销)时,我可以看到他们的 ID 和访问令牌从浏览器本地存储中消失了,但由于其他原因,他们仍然登录到他们的 Azure AD使用它的应用程序。因此,下次他们登录应用程序时,只要 AAD 会话处于活动状态,B2C 就不会提示他们输入凭据并自动登录。我知道这是 B2C 支持 SSO 的设计,我们想要 SSO。但是,有没有办法让具有不同凭据的新用户在前一个用户在同一个浏览器会话中注销后重新登录?

【问题讨论】:

  • 添加这个参数并没有什么不同。我在某处读到它不适用于外部 IDP。我们正在通过 B2C 作为外部 IDP 登录 Azure AD。

标签: single-sign-on azure-ad-b2c federated-identity msal.js


【解决方案1】:

将提示参数设置为登录。例如:

GET https://{tenant}.b2clogin.com/{tenant}.onmicrosoft.com/{policy}/oauth2/v2.0/authorize? prompt=login

或使用 MSAL.js:

var request = {
    prompt: 'login',
}

userAgentApplication.loginRedirect(request);

【讨论】:

  • 谢谢,我会试试的。不过每次都会出现登录提示,希望它会被预先填写……
  • 好的,这行得通,但我还必须将 添加到 B2C 自定义中的 AAD 声明提供程序政策。单独修改 MSAL.js 请求并没有什么不同。
猜你喜欢
  • 2021-03-03
  • 1970-01-01
  • 2021-09-18
  • 1970-01-01
  • 1970-01-01
  • 2017-05-02
  • 1970-01-01
  • 1970-01-01
  • 2018-08-10
相关资源
最近更新 更多