1

我有3个网站使用单个B2C租户。我被要求设置它,以便当用户注销一个网站时,请注销所有网站。Azure AD B2C - 退出所有会话的用户

同样如果他们的帐户被删除。

我认为我必须在每次请求时向Azure介绍一个调用,以确定用户是否仍然登录,但据我所知,没有一个Graph API端点允许我确定用户状态。

我在想这个错误的方式吗?有没有一种方法可以轻松地使用B2C,Graph API,Active Directory客户端等来实现这一点?

也许在设置OpenIdConnectAuthenticationOptions时有一个选项。

回答

1

根据在Azure文献的描述:

虽然将用户引导到end_session_endpoint将清除一些用户的单个的登录与天青AD B2C,状态也不会用户退出的用户的社交身份提供者(IDP)会话。如果用户在后续登录过程中选择相同的IDP,则会在不输入凭据的情况下重新进行身份验证。如果用户想要注销您的B2C应用程序,这并不一定意味着他们想要完全退出其Facebook帐户。但是,就本地帐户而言,用户的会话将会正常结束。

所以你可以直接使用end_session_endpoint。你可以找到它的b2c_1_sign_in政策端点元数据文件中,例如:

https://login.microsoftonline.com/fabrikamb2c.onmicrosoft.com/v2.0/.well-known/openid-configuration?p=b2c_1_sign_in

您可以参考Azure Active Directory B2C: Web sign-in with OpenID Connect获取更多信息。

任何进一步的关注,请随时让我知道。

+0

这就是我正在做的,但它仍然让我登录到其他应用程序,直到会话过期。我认为我需要手动检查API端点的每个请求,以确定我是否仍然登录,并且如果不破坏会话? – gfyans