azure - 在 signin_signup 自定义策略中 EnforceIdTokenHintOnLogout="true" 时出现 Azure AD B2C 错误“未指定 id_token_hint 参数”
问题描述
我需要确保 post_logout_redirect_uri 只能将用户定向到列入白名单的 URI,因此基于Azure AD B2C 中的答案易受 Open Redirect 影响?我添加了
SingleSignOn Scope="Tenant" EnforceIdTokenHintOnLogout="false"
到我们的 signin_signup 自定义策略中的 ReplyingParty 的 UserJourneyBehaviors 部分。但是,当登录时出现错误
AADB2C90272:请求中未指定 id_token_hint 参数。请提供令牌并重试。
当我阅读微软的文档时,它指出
将先前发布的 ID 令牌传递给注销端点,作为有关最终用户与客户端的当前经过身份验证的会话的提示
但是,用户还没有登录,所以他们还没有颁发 ID 令牌来通过,并且在收到此错误后不允许他们登录。
我尝试在应用程序的身份验证选项卡中启用“ID 令牌(用于隐式和混合流)”选项,但这无济于事,因为第一次重定向到 Azure AD B2C 添加了 post_logout_redirect_uri 参数。
我还尝试设置PostLogoutRedirectUri
为空字符串、null 和来自先前登录的 JWT 令牌,OpenIdConnectAuthenticationOptions
因为它似乎是在重定向到 signin_signup 时生成 post_logout_redirect_uri 的位置也无济于事。
id_token_hint 应该是从 Azure AD B2C 返回的 JWTToken 还是另一个 ID 令牌?有没有人有任何 C# 代码显示如何传递它?
解决方案
推荐阅读
- java - 在另一台机器上运行 JavaFX 应用程序
- angular - 如何在 Angular 7 中设置静态文件的基本路径?
- postgresql-9.3 - 在 aws postgres rds 中将表到表数据从一个数据库复制到另一个数据库
- ios - 如何在 SwiftUI 中全屏显示视图?
- java - 如何获取从Java中给定方法调用的另一个类中定义的方法列表
- c# - 抛出 SemaphoreSlim SemaphorefullException
- gradle - Artifactory:快照网址返回404
- angular - Webpack TerserPlugin - 排除节点模块
- typescript - VSC 中的 ESLint 不适用于 .ts 和 .tsx 文件
- javascript - 这个来自 YDKJS 的委托递归示例究竟是如何工作的?