Поиск существующего пользователя по электронной почте в настраиваемой политике Azure Active Directory B2C

Я создаю настраиваемую политику в Azure AD B2C, чтобы приглашенные пользователи могли входить в систему через другой Azure AD (или даже ADFS). У меня проблема в том, что при входе создается новый пользователь (а не приглашенный пользователь). Я обнаружил, что пытался найти существующего пользователя в моем AAD, используя альтернативный идентификатор безопасности или объектный идентификатор, но оба из них не совпадают. Поэтому я думаю, что мне нужно найти существующего пользователя по электронной почте, а не по идентификаторам. Это тоже не работает, потому что я вижу, что электронная почта моего приглашенного пользователя находится в otherMails и свойствах почты (через GraphAPI), и, очевидно, я не могу запросить B2C через эти поля.

<TechnicalProfile Id="AAD-ReadUserByEmail">
  <Metadata>
    <Item Key="Operation">Read</Item>
    <Item Key="RaiseErrorIfClaimsPrincipalDoesNotExist">false</Item>
  </Metadata>
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="emailFromSocialAccount" PartnerClaimType="mail" Required="true" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="objectId" />
    <OutputClaim ClaimTypeReferenceId="displayName" />
    <OutputClaim ClaimTypeReferenceId="givenName" />
    <OutputClaim ClaimTypeReferenceId="surname" />
    <OutputClaim ClaimTypeReferenceId="userPrincipalName" />
  </OutputClaims>
  <IncludeTechnicalProfile ReferenceId="AAD-Common" />
</TechnicalProfile>

Только <InputClaim ClaimTypeReferenceId="emailFromSocialAccount" PartnerClaimType="signInNames.emailAddress" Required="true" /> проходит проверку, но в этом поле нет данных.

Как мне найти приглашенного пользователя?

0 ответов

Другие вопросы по тегам