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

Azure AD B2C自定义策略REST API返回声明在App Insights的展示方式

Azure AD B2C自定义策略REST API技术配置在App Insights中的展示说明

背景信息

我配置了如下Technical Profile:

<TechnicalProfile Id="REST-GetTAndCsForUser-Test">
    <DisplayName>Get user extended profile Azure Function web hook</DisplayName>
    <Protocol Name="Proprietary"
              Handler="Web.TPEngine.Providers.RestfulProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
    <Metadata>
        <Item Key="ServiceUrl">https://myurl</Item>
        <Item Key="SendClaimsIn">QueryString</Item>
        <Item Key="AuthenticationType">Bearer</Item>
        <Item Key="UseClaimAsBearerToken">accessToken</Item>
        <Item Key="AllowInsecureAuthInProduction">false</Item>
    </Metadata>
    <InputClaims>
        <InputClaim ClaimTypeReferenceId="accessToken" />
        <InputClaim ClaimTypeReferenceId="email" />
    </InputClaims>
    <OutputClaims>
        <OutputClaim ClaimTypeReferenceId="accepted"
                      />
        <OutputClaim ClaimTypeReferenceId="acceptionRequired" />
        <OutputClaim ClaimTypeReferenceId="tcDateAccepted" />
        <OutputClaim ClaimTypeReferenceId="tcVersionAccepted" />
    </OutputClaims>
</TechnicalProfile>

使用Postman测试该端点时,返回结果如下:

{
    "accepted": true,
    "acceptionRequired": false,
    "tcDateAccepted": "2023-05-10",
    "tcVersionAccepted": "latest"
}

但在App Insights中无法看到该端点的返回内容,怀疑这导致无法获取正确数据,现咨询:Azure AD B2C自定义策略里连接REST API的Technical Profile的参数在App Insights中是如何展示的?

具体展示说明

1. 请求相关参数

  • 技术配置ID:会在App Insights的跟踪事件名称中体现,比如REST-GetTAndCsForUser-Test会出现在B2C_RESTAPI_START或B2C_RESTAPI_END这类事件名称里
  • 请求元数据:ServiceUrl、SendClaimsIn等元数据信息,会被记录在跟踪事件的自定义属性中,键名通常带前缀,比如rest_metadata_ServiceUrl
  • 输入声明:输入的accessToken、email这类声明,默认不会明文展示(出于安全考虑),但能看到声明的类型标识;开启详细日志后,可能看到部分脱敏内容,敏感数据如token会被自动屏蔽
  • 请求方法与路径:REST API的请求方法(GET/POST等)和完整请求路径,会被记录在跟踪事件的RequestPath或类似属性中

2. 响应相关参数

  • 响应状态码:API返回的HTTP状态码(如200、400)会明确记录在跟踪事件的StatusCode属性中
  • 响应内容:默认情况下,App Insights不会记录完整的REST API响应体,这就是你看不到返回内容的原因。如果需要查看响应体,需在Technical Profile中添加额外元数据配置:
    <Item Key="IncludeResponseClaimsInLogs">true</Item>
    
    添加后,匹配OutputClaims的响应字段会被记录在跟踪事件的自定义属性中,比如rest_output_accepted、rest_output_acceptionRequired等,值对应API返回内容
  • 错误信息:如果API返回错误,错误消息会被记录在ErrorMessage属性中,用于排查问题

3. 注意事项

  • 敏感数据(如accessToken)始终会被自动脱敏,不会在日志中明文显示
  • 日志详细程度受B2C策略的日志级别控制,需确保策略已开启详细日志记录,并正确关联App Insights资源
  • 只有API调用完成后,相关跟踪事件才会发送到App Insights,需注意筛选事件的时间范围

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 14:02:54