Добавление 3 или более поставщиков социальных удостоверений для Azure B2C

#azure #azure-active-directory #azure-ad-b2c

#azure #azure-active-directory #azure-ad-b2c

Вопрос:

Я хочу разрешить пользователям проходить аутентификацию с помощью учетных записей Google, Facebook и Microsoft вместе с их локальной учетной записью. Я могу добавить 2 поставщика социальных удостоверений, добавив один пользовательский переход в TrustFrameworkBase и один в TrustFrameworkExtensions. Для обеих этих поездок идентификатор пользователя = «SignUpOrSignIn». Поскольку у них обоих одинаковый идентификатор, мне не разрешено добавлять другого пользователя для моего поставщика социальных удостоверений. Как я могу обойти эту проблему?

Ответ №1:

Вы можете добавить несколько поставщиков социальных удостоверений в путешествие пользователя SignUpOrSignIn следующим образом:

 <OrchestrationStep Order="1" Type="CombinedSignInAndSignUp" ContentDefinitionReferenceId="api.signuporsignin">
  <ClaimsProviderSelections>
    <ClaimsProviderSelection TargetClaimsExchangeId="FacebookExchange" />
    <ClaimsProviderSelection TargetClaimsExchangeId="GoogleExchange" />
    <ClaimsProviderSelection TargetClaimsExchangeId="MicrosoftAccountExchange" />
    <ClaimsProviderSelection ValidationClaimsExchangeId="LocalAccountSigninEmailExchange" />
  </ClaimsProviderSelections>
  <ClaimsExchanges>
    <ClaimsExchange Id="LocalAccountSigninEmailExchange" TechnicalProfileReferenceId="SelfAsserted-LocalAccountSignin-Email" />
  </ClaimsExchanges>
</OrchestrationStep>
<OrchestrationStep Order="2" Type="ClaimsExchange">
  <Preconditions>
    <Precondition Type="ClaimsExist" ExecuteActionsIf="true">
      <Value>objectId</Value>
      <Action>SkipThisOrchestrationStep</Action>
    </Precondition>
  </Preconditions>
  <ClaimsExchanges>
    <ClaimsExchange Id="FacebookExchange" TechnicalProfileReferenceId="Facebook-OAUTH" />
    <ClaimsExchange Id="GoogleExchange" TechnicalProfileReferenceId="Google-OAUTH" />
    <ClaimsExchange Id="MicrosoftAccountExchange" TechnicalProfileReferenceId="MSA-OIDC" />
    <ClaimsExchange Id="SignUpWithLogonEmailExchange" TechnicalProfileReferenceId="LocalAccountSignUpWithLogonEmail" />
  </ClaimsExchanges>
</OrchestrationStep>
  

Сведения о техническом профиле Google-OAUTH см. Здесь .

Сведения о техническом профиле MSA-OIDC см. Здесь .