Поделиться через


Настройка регистрации и входа с помощью мобильного идентификатора с помощью Azure Active Directory B2C

Это важно

Начиная с 1 мая 2025 г. Azure AD B2C больше не будет доступен для приобретения для новых клиентов. Дополнительные сведения см. в разделе "Вопросы и ответы".

Прежде чем начать, используйте селектор типа политики в верхней части этой страницы, чтобы выбрать тип политики, которую вы настроите. Azure Active Directory B2C предлагает два метода определения способа взаимодействия пользователей с вашими приложениями: с помощью предопределенных потоков пользователей или полностью настраиваемых пользовательских политик. Действия, которые необходимо выполнить, отличаются для каждого метода.

Из этой статьи вы узнаете, как регистрироваться и входить клиентам с мобильным идентификатором в приложениях с помощью Azure Active Directory B2C (Azure AD B2C). Решение Mobile ID защищает доступ к корпоративным данным и приложениям с комплексным решением для надежной многофакторной аутентификации (MFA). Вы добавляете мобильный идентификатор в потоки пользователя или настраиваемую политику с помощью протокола OpenID Connect.

Предпосылки

Создание приложения мобильного идентификатора

Чтобы включить вход для пользователей с помощью мобильного идентификатора в Azure AD B2C, необходимо создать приложение. Чтобы создать приложение Mobile ID, выполните следующие действия.

  1. Обратитесь в службу поддержки mobile ID.

  2. Укажите идентификатор мобильного устройства для вашего клиента Azure AD B2C:

    Ключ Замечание
    Перенаправляющий URI Укажите универсальный https://your-tenant-name.b2clogin.com/your-tenant-name.onmicrosoft.com/oauth2/authresp код ресурса (URI). Если вы используете личный домен, введите https://your-domain-name/your-tenant-name.onmicrosoft.com/oauth2/authresp. Замените your-tenant-name именем клиента и your-domain-name личным доменом.
    Метод проверки подлинности конечной точки токена client_secret_post
  3. После регистрации приложения следующие сведения будут предоставлены мобильным идентификатором. Используйте эти сведения для настройки потока пользователя или настраиваемой политики.

    Ключ Замечание
    Идентификатор клиента Идентификатор клиента Mobile ID. Например, 0000111-aaaa-2222-bbbb-3333cccc4444.
    Секрет клиента Секрет клиента Mobile ID.

Настроить мобильный идентификатор как поставщика идентичности

  1. Если у вас есть доступ к нескольким клиентам, щелкните значок Настройки в верхнем меню, чтобы переключиться на клиент Azure AD B2C из меню Каталоги и подписки.

  2. Выберите все службы в левом верхнем углу портала Azure, а затем найдите и выберите Azure AD B2C.

  3. Выберите поставщики удостоверений и выберите новый поставщик OpenID Connect.

  4. Введите Имя. Например, введите мобильный идентификатор.

  5. Для URL-адреса метаданных введите известную конфигурационную конечную точку Mobile ID OpenId. Рассмотрим пример.

    https://openid.mobileid.ch/.well-known/openid-configuration
    
  6. Для идентификатора клиента введите идентификатор клиента Mobile ID.

  7. Для секрета клиента введите секрет клиента Mobile ID.

  8. В поле "Область" введите openid, profile, phone, mid_profile.

  9. Оставьте значения по умолчанию для типа ответа (code) и режима ответа (form_post).

  10. (Необязательно) Для указания домена введите mobileid.ch. Дополнительные сведения см. в статье Настройка прямого входа в систему с помощью Azure Active Directory B2C.

  11. В разделе сопоставления утверждений поставщика удостоверений выберите следующие утверждения:

    • Идентификатор пользователя: sub
    • Отображаемое имя: имя
  12. Нажмите кнопку "Сохранить".

Добавление поставщика услуг идентификации через мобильный ID в пользовательский поток

На этом этапе поставщик удостоверений mobile ID настроен, но он еще не доступен на любой из страниц входа. Чтобы добавить поставщика аутентификации мобильного идентификатора в поток пользователя:

  1. В клиенте Azure AD B2C выберите потоки пользователей.
  2. Выберите поток пользователя, в который вы хотите добавить поставщика удостоверений Mobile ID.
  3. В разделе поставщиков удостоверений социальных сетей выберите Мобильный идентификатор.
  4. Нажмите кнопку "Сохранить".
  5. Чтобы протестировать вашу политику, выберите Запустить поток пользователя.
  6. Для приложения выберите веб-приложение с именем testapp1 , которое вы ранее зарегистрировали. В поле URL-адрес ответа должно содержаться значение https://jwt.ms.
  7. Нажмите на кнопку Запустить пользовательский поток.
  8. На странице регистрации или входа выберите Mobile ID , чтобы войти с помощью Mobile ID.

Если процесс входа выполнен успешно, браузер перенаправляется на https://jwt.ms, где отображается содержимое токена, возвращаемого Azure AD B2C.

Создание ключа политики

Необходимо сохранить секрет клиента, полученный от мобильного идентификатора в клиенте Azure AD B2C.

  1. Войдите на портал Azure.
  2. Убедитесь, что вы используете каталог, содержащий арендатора Azure AD B2C. Выберите фильтр Каталог + подписка в верхнем меню и выберите каталог, содержащий вашего арендатора.
  3. Выберите все службы в левом верхнем углу портала Azure, а затем найдите и выберите Azure AD B2C.
  4. На странице "Обзор" выберите Identity Experience Framework.
  5. Выберите ключи политики и нажмите кнопку "Добавить".
  6. В разделе "Параметры" выберите Manual.
  7. Введите имя для ключа политики. Например: Mobile IDSecret. Префикс B2C_1A_ добавляется автоматически в имя ключа.
  8. Введите секретный ключ клиента Mobile ID в секретном поле.
  9. Для использования ключа выберите Signature.
  10. Нажмите кнопку "Создать".

Настроить мобильный идентификатор как поставщика идентичности

Чтобы пользователи могли войти с помощью мобильного идентификатора, необходимо определить мобильный идентификатор в качестве поставщика утверждений, с которым Azure AD B2C может взаимодействовать через конечную точку. Конечная точка предоставляет набор утверждений, используемых Azure AD B2C для проверки подлинности определенного пользователя.

Вы можете определить мобильный идентификатор в качестве поставщика утверждений, добавив его в элемент ClaimsProviders в файле расширения политики.

  1. Откройте TrustFrameworkExtensions.xml.

  2. Найдите элемент ClaimsProviders . Если он не существует, добавьте его в корневой элемент.

  3. Добавьте новый ClaimsProvider следующим образом:

    <ClaimsProvider>
    <Domain>mobileid.ch</Domain>
    <DisplayName>Mobile-ID</DisplayName>
    <TechnicalProfiles>
      <TechnicalProfile Id="MobileID-OAuth2">
      <DisplayName>Mobile-ID</DisplayName>
      <Protocol Name="OAuth2" />
      <Metadata>
        <Item Key="ProviderName">Mobile-ID</Item>
         <Item Key="authorization_endpoint">https://m.mobileid.ch/oidc/authorize</Item>
          <Item Key="AccessTokenEndpoint">https://openid.mobileid.ch/token</Item>
          <Item Key="ClaimsEndpoint">https://openid.mobileid.ch/userinfo</Item>
          <Item Key="scope">openid, profile, phone, mid_profile</Item>
          <Item Key="HttpBinding">POST</Item>
          <Item Key="UsePolicyInRedirectUri">false</Item>
          <Item Key="token_endpoint_auth_method">client_secret_post</Item>
          <Item Key="BearerTokenTransmissionMethod">AuthorizationHeader</Item>
          <Item Key="client_id">Your application ID</Item>
        </Metadata>
        <CryptographicKeys>
          <Key Id="client_secret" StorageReferenceId="B2C_1A_MobileIdSecret" />
        </CryptographicKeys>
        <OutputClaims>
          <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="sub"/>
          <OutputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="name"/>
          <OutputClaim ClaimTypeReferenceId="identityProvider" DefaultValue="mobileid.ch" />
          <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" />
        </OutputClaims>
        <OutputClaimsTransformations>
          <OutputClaimsTransformation ReferenceId="CreateRandomUPNUserName" />
          <OutputClaimsTransformation ReferenceId="CreateUserPrincipalName" />
          <OutputClaimsTransformation ReferenceId="CreateAlternativeSecurityId" />
          <OutputClaimsTransformation ReferenceId="CreateSubjectClaimFromAlternativeSecurityId" />
        </OutputClaimsTransformations>
        <UseTechnicalProfileForSessionManagement ReferenceId="SM-SocialLogin" />
        </TechnicalProfile>
      </TechnicalProfiles>
    </ClaimsProvider>
    
  4. Установите client_id в значение идентификатора клиента Mobile ID.

  5. Сохраните файл.

Добавить пользовательский сценарий

На этом этапе поставщик удостоверений настроен, но он еще не доступен на любой из страниц входа. Если у вас нет собственного пользовательского пути, создайте дубликат существующего пути пользователя шаблона, в противном случае перейдите к следующему шагу.

  1. Откройте файлTrustFrameworkBase.xml из начального пакета.
  2. Найдите и скопируйте все содержимое элемента UserJourney , который включает в себя Id="SignUpOrSignIn".
  3. Откройте TrustFrameworkExtensions.xml и найдите элемент UserJourneys . Если элемент не существует, добавьте его.
  4. Вставьте все содержимое элемента UserJourney , скопированного в качестве дочернего элемента UserJourneys .
  5. Переименуйте идентификатор пути пользователя. Например: Id="CustomSignUpSignIn".

Добавьте поставщика удостоверений в путь пользователя

Теперь, когда у вас есть путь пользователя, добавьте нового поставщика идентификации в этот путь. Сначала вы добавляете кнопку входа, а затем связываете кнопку с действием. Действие — это технический профиль, который вы создали ранее.

  1. Найдите элемент шага оркестрации, который включает в себя Type="CombinedSignInAndSignUp" или Type="ClaimsProviderSelection" в процессе работы пользователя. Обычно это первый шаг оркестрации. Элемент ClaimsProviderSelections содержит список поставщиков удостоверений, с которыми пользователь может войти. Порядок элементов определяет порядок кнопок входа, представленных пользователю. Добавьте XML-элемент ClaimsProviderSelection . Задайте для параметра TargetClaimsExchangeId понятное имя.

  2. На следующем шаге оркестрации добавьте элемент ClaimsExchange . Установите Id на значение идентификатора целевого обмена утверждениями. Обновите значение TechnicalProfileReferenceId на идентификатор ранее созданного технического профиля.

Следующий XML-код демонстрирует первые два этапа оркестрации взаимодействия пользователя с поставщиком удостоверений:

<OrchestrationStep Order="1" Type="CombinedSignInAndSignUp" ContentDefinitionReferenceId="api.signuporsignin">
  <ClaimsProviderSelections>
    ...
    <ClaimsProviderSelection TargetClaimsExchangeId="MobileIDExchange" />
  </ClaimsProviderSelections>
  ...
</OrchestrationStep>

<OrchestrationStep Order="2" Type="ClaimsExchange">
  ...
  <ClaimsExchanges>
    <ClaimsExchange Id="MobileIDExchange" TechnicalProfileReferenceId="MobileID-OAuth2" />
  </ClaimsExchanges>
</OrchestrationStep>

Настройте политику доверяющей стороны

Политика проверяющей стороны, например SignUpSignIn.xml, указывает пользовательский сценарий, который будет выполнять Azure AD B2C. Найдите элемент DefaultUserJourney в поддерживающей стороне. Обновите ReferenceId, чтобы он соответствовал идентификатору пути пользователя, где вы добавили провайдера идентификации.

В следующем примере для CustomSignUpSignIn пути пользователя для параметра ReferenceId задано значение CustomSignUpSignIn:

<RelyingParty>
  <DefaultUserJourney ReferenceId="CustomSignUpSignIn" />
  ...
</RelyingParty>

Отправка настраиваемой политики

  1. Войдите на портал Azure.
  2. Щелкните значок каталога и подписки на панели инструментов портала, а затем выберите каталог, содержащий клиент Azure AD B2C.
  3. В портале Azure найдите и выберите Azure AD B2C.
  4. В разделе "Политики" выберите Identity Experience Framework.
  5. Выберите " Отправить настраиваемую политику", а затем отправьте два измененных файла политики в следующем порядке: политика расширения, например TrustFrameworkExtensions.xml, политика проверяющей стороны, например SignUpSignIn.xml.

Проверка настраиваемой политики

  1. Выберите политику доверенной стороны, например B2C_1A_signup_signin.
  2. Для приложения выберите веб-приложение, которое вы ранее зарегистрировали. В поле URL-адрес ответа должно содержаться значение https://jwt.ms.
  3. Нажмите кнопку "Запустить сейчас ".
  4. На странице регистрации или входа выберите Mobile ID , чтобы войти с помощью Mobile ID.

Если процесс входа выполнен успешно, браузер перенаправляется на https://jwt.ms, где отображается содержимое токена, возвращаемого Azure AD B2C.

Дальнейшие шаги

Узнайте, как передать токен мобильного ID вашему приложению.