这是这个问题的后续。我需要查询 Azure AD B2C 以使用员工 ID 查找用户,由于与我们的帐户配置解决方案可以处理的字段相关的原因,该员工 ID 当前存储在电话号码字段中。
我创建了一个 Azure Active Directory TechnicalProfile,它将电话号码指定为 InputClaim:
<TechnicalProfile Id="AAD-UserReadUsingEmployeeId">
<Metadata>
<Item Key="Operation">Read</Item>
<Item Key="RaiseErrorIfClaimsPrincipalDoesNotExist">true</Item>
<Item Key="UserMessageIfClaimsPrincipalDoesNotExist">An account could not be found for the provided ID.</Item>
</Metadata>
<IncludeInSso>false</IncludeInSso>
<InputClaims>
<InputClaim ClaimTypeReferenceId="telephoneNumber" PartnerClaimType="employeeId" Required="true" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="objectId" />
<OutputClaim ClaimTypeReferenceId="userPrincipalName" />
<OutputClaim ClaimTypeReferenceId="otherMails" />
<OutputClaim ClaimTypeReferenceId="signInNames.emailAddress" />
<OutputClaim ClaimTypeReferenceId="signInNames.phoneNumber" />
<OutputClaim ClaimTypeReferenceId="displayName" />
<OutputClaim ClaimTypeReferenceId="givenName" />
<OutputClaim ClaimTypeReferenceId="surname" />
<OutputClaim ClaimTypeReferenceId="telephoneNumber" />
</OutputClaims>
<IncludeTechnicalProfile ReferenceId="AAD-Common" />
</TechnicalProfile>
但是,在编译此策略时,我收到错误:
Azure Active Directory 提供程序技术配置文件“AAD-UserReadUsingEmployeeId”不支持输入声明“telephoneNumber”
我从文档here了解到,telephoneNumber 只能用作 persistenceClaim 或 OutputClaim...所以我想我可能会遇到这个限制。我以为我可以通过使用扩展属性查询 Azure AD B2C 来摆脱这个问题,但我感到很困惑:
那么,我的理解是否正确
或者在我配置技术配置文件的方式中是否有一些明显的我忽略的事情?
这些是正确的: