Apo*_*ire 8 oauth-2.0 azure-active-directory openid-connect
我正在编写一个 JS 应用程序,用户可以在其中使用 Microsoft、oAuth2 和 openId 连接进行前端身份验证。我需要用户能够切换帐户,所以注销然后登录另一个帐户。在注销流程中,即使只有一个帐户,也会要求用户“选择要注销的帐户”(请参阅弹出屏幕截图)。我怎么能跳过这个提示?
我知道对于登录,您可以传递login_hint或sid(来自 ID 令牌的会话 ID)。我想这没有成功: -通过login_hint在URL中的查询字符串我仍然有“选择帐户”提示符(在login_hint是preferred_username对于用户来说,这是我成功地使用了登录) -随着sid并iss在网址的查询字符串,我得到一个InvalidSessionId错误:AADSTS90007 Bad request. The passed session ID can't be parsed.网址如下所示:
https://login.microsoftonline.com/common/oauth2/v2.0/logout?sid=M.1234567890123456789&iss=https%3A%2F%2Flogin.microsoftonline.com%2F1234567a-1a23-1a2b-a123-12a345b67cde%2Fv2.0
Run Code Online (Sandbox Code Playgroud)
(我尝试使用上述编码的 url 和 iss 的原始 url,结果相同)我在这里做错了什么?
为了提供更多上下文,这个提示让我感到困扰,因为我需要实现静默注销。这样做的原因是用于登录的 oAuth 弹出窗口被浏览器阻止,因为它在用户单击按钮切换帐户后很久才到达。此外,此提示似乎禁用了post_logout_redirect_uri,因此我也无法使用重定向流。请参阅此 github 问题:https : //github.com/AzureAD/microsoft-authentication-library-for-js/issues/735
| 归档时间: |
|
| 查看次数: |
1997 次 |
| 最近记录: |