【发布时间】:2021-06-26 13:54:02
【问题描述】:
这是一个场景,我给了单页 Web 应用程序(只是 HTML 和 CSS)来验证和授权用户访问这个应用程序。 所以我使用 .NET CORE 和 Azure AD 通过 Visual Studio 对用户进行身份验证(将应用注册到 Azure 门户)。登录工作正常,但当我尝试注销时,它会将我从所有其他使用 Azure AD 登录机制的应用程序中注销。
例如:在我的浏览器中,如果我打开使用 Azure AD 身份验证和 my.NET 应用程序的 Outlook,如果我想从我的自定义 .NET 应用程序中注销,它会自动将我从 Outlook 中注销。有什么办法可以防止这种情况发生吗?我只想从我的 .NET 应用程序中注销,而不是从 Outlook 或其他使用 Azure AD 身份验证的应用程序中注销。
注销:我正在使用链接:/MicrosoftIdentity/Account/SignOut
更新:我没有在我的 .net 应用程序上将 Azure AD 添加为连接服务,但是一旦我在我的 .net 应用程序上添加了 azure 广告,注销就可以完美地用于 Google Chrome。 (我可以在不退出 Outlook 的情况下退出应用程序)但是当我用 firefox(regular,developer)尝试同样的事情时,它会让我退出应用程序和 Outlook。
查看网络日志,我发现注销后,firefox 正在调用 https://outlook.office365.com/owa/auth/logoff.aspx?cmd=logoff&exlive=1&lgtype=1&sid=xxxxxxxxxx 将我从 Outlook 中注销,但 Chrome 没有调用此 URL。
我可以做些什么来防止这种情况发生,或者我应该与 Microsoft 联系吗?
【问题讨论】:
-
我在我这边进行了测试,在 Edge 浏览器中从我的自定义 Web 应用程序中退出后,我在同一个浏览器中刷新了 Outlook 网站,它不会要求我再次登录.如果我在登录 Outlook 时选择“保持登录”,即使我关闭浏览器然后重新打开它,Outlook 也不会要求我登录。所以你能否分享更多关于“自动注销我”的详细信息外表'?顺便说一句,this doc 提到 msal 注销将清除浏览器存储中的缓存。
-
当我从我的自定义 Web 应用程序中退出时,它会将我重定向到您要退出哪个帐户?页面,当我单击我的帐户时,它会自动将我从 Outlook 和 Web 应用程序中注销。您的 Web 应用会重定向到 Microsoft 选择一个帐户以退出页面还是自动将您注销?
-
是的,当点击退出时,它会重定向到页面让我选择一个帐户,我选择既用于登录outlook又用于我的自定义应用程序的帐户。
-
我的springboot web app可以看这个screenshot,spa可以看this sample code,msal的其他示例点击this
标签: azure asp.net-core azure-active-directory single-page-application microsoft-identity-platform