【问题标题】:ADB2C with authentication/logout not working in Blazor带有身份验证/注销的 ADB2C 在 Blazor 中不起作用
【发布时间】:2020-09-10 09:31:59
【问题描述】:

在 Blazor Webassembly 项目中使用 ADB2C 进行身份验证时,身份验证/注销似乎会注销并显示一个页面,其中包含关闭所有浏览器的请求。 无论如何,如果用户只是使用浏览器中的后退按钮,她/他仍然能够访问内容并被视为仍在登录。 那么,如何获得真正的注销呢?

【问题讨论】:

  • AuthenticationState 对象是否还包含已注销用户的数据?
  • 是的,LoginDisplay 仍然显示用户名和注销链接
  • 当您导航出应用程序空间时,然后单击返回按钮。 .. 你还能像以前一样访问数据吗?
  • 是的,好像注销没有完成?

标签: azure-ad-b2c blazor blazor-client-side


【解决方案1】:

虽然将用户定向到 end_session_endpoint 会清除用户在 Azure AD B2C 中的部分单点登录状态,但它不会将用户从用户的社交身份提供商(IDP ) 会议。如果用户在后续登录期间选择了相同的 IDP,他们将被重新验证,而无需输入他们的凭据。如果用户想要退出您的 B2C 应用程序,并不一定意味着他们希望完全退出他们的 Facebook 帐户。但是,对于本地帐户,用户的会话将正常结束。

要注销用户,请将用户重定向到 OpenID Connect 元数据文档 (example) 中列出的 end_session 端点:

GET https://{tenant}.b2clogin.com/{tenant}.onmicrosoft.com/{policy}/oauth2/v2.0/logout?post_logout_redirect_uri=https%3A%2F%2Fjwt.ms%2F

参考:Azure Active Directory B2C: Web sign-in with OpenID Connect

【讨论】:

  • IDP场景的情况下,它会是这样的:1.启动注销,2.注销ADB2C(主要由库完成),3.重定向用户到IDPend_session_endpoint。这是有道理的,但在我的情况下,用户被困在那里。在它退出IDP 后,它会留下一个“成功退出”
猜你喜欢
  • 2020-11-30
  • 2017-08-29
  • 2016-02-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-06
  • 2020-11-05
  • 1970-01-01
相关资源
最近更新 更多