You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure B2C自定义策略授权码流调用Azure Functions失败排查

排查Azure B2C授权码流中REST技术配置文件未触发的问题

核心排查方向

1. 确认SignUpOrSignIn用户旅程的编排步骤

ClientCredentialsJourney流程简单,可直接在令牌颁发前调用REST配置,但SignUpOrSignIn包含完整的用户交互流程,需重点检查:

  • REST技术配置文件是否被添加到正确的编排阶段:必须放在用户身份验证完成后、令牌颁发前的步骤中,比如在AAD-UserReadUsingObjectId步骤之后、JwtIssuer步骤之前
  • 步骤的Order顺序是否合理,避免被前置步骤跳过

示例正确的编排片段:

<UserJourney Id="SignUpOrSignIn">
  <OrchestrationSteps>
    <!-- 省略身份验证相关步骤 -->
    <OrchestrationStep Order="7" Type="ClaimsExchange">
      <ClaimsExchanges>
        <ClaimsExchange Id="REST-EnrichClaims" TechnicalProfileReferenceId="REST-AzureFunctions-EnrichClaims" />
      </ClaimsExchanges>
    </OrchestrationStep>
    <!-- 省略令牌颁发步骤 -->
  </OrchestrationSteps>
</UserJourney>

2. 验证AccountId声明的传递与持久化

即便能捕获到AccountId参数,也需确保它能被传递到REST配置:

  • 确认在登录相关的技术配置文件(如SelfAsserted-LocalAccountSignin-Email或社交登录配置)中,已将AccountId从输入参数映射为输出声明,完成持久化
  • 检查REST技术配置文件的InputClaims是否正确引用AccountId声明,确保参数能传递到Azure Functions

示例输入声明配置:

<TechnicalProfile Id="REST-AzureFunctions-EnrichClaims">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="AccountId" PartnerClaimType="accountId" />
  </InputClaims>
  <!-- 省略其他配置 -->
</TechnicalProfile>

3. 检查REST配置的前置条件

如果REST技术配置文件带有Preconditions,需确认这些条件在授权码流中是否满足:

  • 是否存在仅允许client_credentials流的前置条件,导致授权码流被跳过
  • 移除专属client_credentials的过滤条件,或添加适配授权码流的判断逻辑

示例错误的前置条件(需调整):

<Preconditions>
  <Precondition Type="Equals" ExecuteActionsIf="false">
    <Value>client_credentials</Value>
    <Value>{oauth2:grant_type}</Value>
    <Action>SkipThisOrchestrationStep</Action>
  </Precondition>
</Preconditions>

4. 分析Azure B2C日志

启用Azure B2C的应用程序洞察日志,查看SignUpOrSignIn旅程的执行细节:

  • 检查REST配置对应的步骤是否被跳过,以及跳过的具体原因
  • 查看是否存在声明缺失、参数传递失败的错误记录
  • 确认Azure Functions的调用请求是否发起,以及是否有返回错误

5. 验证Blazor端参数传递的准确性

确认Blazor端的参数传递没有遗漏:

  • 参数名是否与自定义策略中定义的ClaimType名称完全匹配(区分大小写)
  • 授权码流回调时,该参数是否被正确保留并传递到B2C后续流程

内容的提问来源于stack exchange,提问作者RePinheiro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 16:40:04