使用扩展属性或不寻常的标准属性在 AAD B2C 中查找用户

Looking up users in AAD B2C using extension attributes or unusual standard attributes

这是 的后续。我需要查询 AAD B2C 以使用 employeeID 查找用户,出于与我们的帐户配置解决方案可以处理的字段相关的原因,该 employeeID 当前存储在 telephoneNumber 字段中。

我创建了一个 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>

但是,在编译此策略时出现错误:

"Input Claim 'telephoneNumber' is not supported in Azure Active Directory Provider technical profile 'AAD-UserReadUsingEmployeeId'"

我从文档 here 了解到 telephoneNumber 只能用作 persistentClaim 或 OutputClaim...所以我想我可能遇到了这个限制。我以为我可以通过使用扩展属性查询 AAD B2C 来解决这个问题,但我感到困惑:

那么,我的理解是否正确

或者我在配置 TechnicalProfile 的方式中是否忽略了一些明显的东西?

谢谢!

这些是正确的:

  • 您可以使用任何扩展属性在 AAD B2C 中查找用户,并且 您有责任确保属性值是唯一的
  • 您不能使用大多数标准属性(例如电话号码)来查找用户