显示多个帐户的 Msal 注销

Posted

技术标签:

【中文标题】显示多个帐户的 Msal 注销【英文标题】:Msal logout displaying multiple account 【发布时间】:2022-01-24 03:14:48 【问题描述】:

我正在使用带有 React JS 的 Azure AD。当我使用多个帐户登录并调用 msal logout 时,它会显示一个选项来选择需要注销的帐户。我只想显示当前活动帐户的注销选项,而不是所有已登录的用户。

我尝试使用下面的 sn-p 传递一个活动帐户,但我仍然可以选择注销所有已登录的帐户。能否请您告诉我如何获得仅退出活动帐户而不是所有已登录帐户的选项?

const myMsal = new PublicClientApplication(config);

// you can select which account application should sign out
const logoutRequest = 
    account: myMsal.getAccountByHomeId(homeAccountId)


myMsal.logoutRedirect(logoutRequest);

https://docs.microsoft.com/en-us/azure/active-directory/develop/scenario-spa-sign-in?tabs=javascript2#sign-out-with-a-redirect

【问题讨论】:

【参考方案1】:

msal logout 它显示了一个选项来选择一个帐户 需要退出

您看到的注销提示来自 AAD 服务,因为它需要知道在身份验证服务器端终止哪个用户的会话

很遗憾,这是 AAD 服务的一个已知问题。此时,无法绕过注销时的注销帐户选择屏幕

根据该文档:https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-browser/docs/logout.md 和代码描述,MSAL 是清除客户端(浏览器)的缓存和会话数据

有 github 问题,您可以参考它以获取更多详细信息:

https://github.com/AzureAD/microsoft-authentication-library-for-js/issues/2922

【讨论】:

以上是关于显示多个帐户的 Msal 注销的主要内容,如果未能解决你的问题,请参考以下文章

当存在要注销的多个帐户时,使用 SimpleSAMLphp 注销到 Azure AD 中的指定网站后不会发生重定向

如何从ios中的谷歌帐户注销?

使用会话变量显示登录/注销

Google+ 登录将用户注销

使用 AAD MSAL 登录 - 登录已在进行中

如何注销 Spotify API 身份验证流程演示