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

Azure AD B2C自定义策略<ClaimsTransformations>架构验证错误求助

Azure AD B2C自定义策略上传时ClaimsTransformations架构验证错误问题

上传Azure AD B2C自定义策略时,持续遇到与<ClaimsTransformations>部分相关的架构验证错误,错误信息不固定,但常见提示:

命名空间'http://schemas.microsoft.com/online/cpim/schemas/2013/06'中的元素'ClaimsTransformation'包含无效子元素'InputClaims',预期元素为'OutputClaims'。

关键细节

  • 错误指向的行不固定,但始终提示某些转换方法中<InputClaims>是无效子元素
  • 已确认CopyClaim、FormatStringMultipleClaims、BuildUri等方法按文档要求使用<InputClaims>和<OutputClaims>
  • CreateOtpSecret、CreateStringClaim、FormatStringClaim等方法仅使用<OutputClaims>(必要时搭配<InputParameters>),未使用<InputClaims>
  • 即便XML符合架构规范,错误仍持续出现

已尝试操作

  • 反复检查所有<ClaimsTransformation>块,确认<InputClaims>、<OutputClaims>、<InputParameters>使用正确
  • 移除了不支持<InputClaim>的转换方法中的对应元素
  • 验证XML结构,确保无重复或错位元素

相关代码片段

<!-- ===== Transformations ===== -->
<ClaimsTransformations>
    <ClaimsTransformation Id="CopyObjectIdToUserId"
                          TransformationMethod="CopyClaim">
        <OutputClaims>
            <OutputClaim ClaimTypeReferenceId="objectId"
                         TransformationClaimType="inputClaim" />
            <OutputClaim ClaimTypeReferenceId="userId"
                         TransformationClaimType="outputClaim" />
        </OutputClaims>
    </ClaimsTransformation>
    <ClaimsTransformation Id="CopyInviteTokenToSecretKey"
                          TransformationMethod="CopyClaim">
        <OutputClaims>
            <OutputClaim ClaimTypeReferenceId="extension_d370edc869fd4e23ba22efa407bd8935_InviteToken"
                         TransformationClaimType="inputClaim" />
            <OutputClaim ClaimTypeReferenceId="secretKey"
                         TransformationClaimType="outputClaim" />
        </OutputClaims>
    </ClaimsTransformation>
    <ClaimsTransformation Id="CreateIssuer"
                          TransformationMethod="FormatStringClaim">
        <InputParameters>
            <InputParameter Id="stringFormat"
                            DataType="string"
                            Value="{0}" />
        </InputParameters>
        <InputClaims>
            <InputClaim ClaimTypeReferenceId="totpIssuer"
                        TransformationClaimType="inputClaim" />
        </InputClaims>
        <OutputClaims>
            <OutputClaim ClaimTypeReferenceId="totpIdentifier"
                         TransformationClaimType="outputClaim" />
        </OutputClaims>
    </ClaimsTransformation>
    <ClaimsTransformation Id="FormatTotpLabel"
                          TransformationMethod="FormatStringMultipleClaims">
        <InputParameters>
            <InputParameter Id="stringFormat"
                            DataType="string"
                            Value="{0}:{1}" />
        </InputParameters>
        <InputClaims>
            <InputClaim ClaimTypeReferenceId="totpIdentifier"
                        TransformationClaimType="inputClaim1" />
            <InputClaim ClaimTypeReferenceId="email"
                        TransformationClaimType="inputClaim2" />
        </InputClaims>
        <OutputClaims>
            <OutputClaim ClaimTypeReferenceId="totpLabel"
                         TransformationClaimType="outputClaim" />
        </OutputClaims>
    </ClaimsTransformation>
    <ClaimsTransformation Id="CreateQrCodeUri"
                          TransformationMethod="BuildUri">
        <InputParameters>
            <InputParameter Id="scheme"
                            DataType="string"
                            Value="otpauth" />
            <InputParameter Id="path"
                            DataType="string"
                            Value="totp" />
        </InputParameters>
        <InputClaims>
            <InputClaim ClaimTypeReferenceId="totpLabel"
                        TransformationClaimType="label" />
            <InputClaim ClaimTypeReferenceId="secretKey"
                        TransformationClaimType="secret" />
            <InputClaim ClaimTypeReferenceId="totpIssuer"
                        TransformationClaimType="issuer" />
        </InputClaims>
        <OutputClaims>
            <OutputClaim ClaimTypeReferenceId="qrCodeContent"
                         TransformationClaimType="outputClaim" />
        </OutputClaims>
    </ClaimsTransformation>
</ClaimsTransformations>
<!-- ===== Content definitions ===== -->

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 19:35:02