Azure AD B2C自定义策略出现issuerUserId报错,请问缺失什么配置?
Azure AD B2C 自定义策略相关问题解答
遗漏配置排查方向
从你反馈的报错来看,属于AlternativeSecurityId声明缺失必填字段导致的校验失败,你可以按以下顺序排查遗漏配置:
- 确认
B2C_1A_TrustFrameworkBase.xml中已正确配置CreateAlternativeSecurityId声明转换,该转换需要同时传入issuerUserId和identityProvider两个入参才能正常生成合法的AlternativeSecurityId,标准配置示例如下:
<ClaimsTransformation Id="CreateAlternativeSecurityId" TransformationMethod="CreateAlternativeSecurityId"> <InputClaims> <InputClaim ClaimTypeReferenceId="issuerUserId" TransformationClaimType="key" /> <InputClaim ClaimTypeReferenceId="identityProvider" TransformationClaimType="identityProvider" /> </InputClaims> <OutputClaims> <OutputClaim ClaimTypeReferenceId="alternativeSecurityId" TransformationClaimType="alternativeSecurityId" /> </OutputClaims> </ClaimsTransformation>
- 检查你对接的外部身份提供方(IdP)对应的技术配置文件,是否已经把IdP返回的用户唯一标识映射到
issuerUserId声明:如果是OIDC协议的IdP,需要添加配置<OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="sub" />;如果是SAML协议的IdP,需要映射到nameidentifier声明。 - 检查用户旅程的执行顺序,确保
issuerUserId、identityProvider两个声明的赋值发生在调用CreateAlternativeSecurityId转换、创建本地B2C账号的步骤之前,避免声明传递中断。
issuerUserId 具体定义
issuerUserId是Azure AD B2C自定义策略中用来关联外部身份的核心字段,属于
AlternativeSecurityId的必填组成部分。
- 该值由你对接的外部身份提供方签发,是对应用户在该外部IdP中的唯一不可变标识符,同一个用户在同一个IdP下的issuerUserId不会重复也不会随用户信息变更而修改。
- Azure AD B2C会将该字段和
identityProvider字段绑定存储,用来判断当前登录的外部身份是否已经关联过本地B2C账号,避免重复创建账号。
内容的提问来源于stack exchange,提问作者bippan
相关产品推荐
相关产品推荐

