Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Это важно
Начиная с 1 мая 2025 г. Azure AD B2C больше не будет доступен для приобретения для новых клиентов. Дополнительные сведения см. в разделе "Вопросы и ответы".
Прежде чем начать, используйте селектор типа политики в верхней части этой страницы, чтобы выбрать тип политики, которую вы настроите. Azure Active Directory B2C предлагает два метода определения способа взаимодействия пользователей с вашими приложениями: с помощью предопределенных потоков пользователей или полностью настраиваемых пользовательских политик. Действия, которые необходимо выполнить, отличаются для каждого метода.
Поток пользователя в Azure Active Directory B2C (Azure AD B2C) предоставляет пользователям приложения возможность регистрации или входа с помощью поставщика удостоверений. Когда начинается процесс, Azure AD B2C получает маркер доступа от поставщика удостоверений. Azure AD B2C использует этот маркер для получения сведений о пользователе. Вы настраиваете утверждение в потоке пользователя, чтобы передать токен приложениям, которые вы регистрируете в Azure AD B2C.
Azure AD B2C поддерживает передачу токена доступа поставщиков удостоверений OAuth 2.0, включая Facebook и Google. Для всех других поставщиков удостоверений заявка возвращается пустой.
Azure AD B2C поддерживает передачу токена доступа поставщиков удостоверений OAuth 2.0 и OpenID Connect. Для всех других поставщиков удостоверений заявка возвращается пустой. Дополнительные сведения см. в демонстрации в реальном времени федерации поставщиков удостоверений.
На следующей схеме показано, как токен поставщика удостоверений возвращается в ваше приложение.
Предпосылки
- Создайте поток пользователя, чтобы пользователи могли зарегистрироваться и входить в ваше приложение.
- Зарегистрируйте веб-приложение.
- Выполните действия, описанные в статье "Начало работы с настраиваемыми политиками в Active Directory B2C". В этом руководстве описано, как обновить пользовательские файлы политики для использования конфигурации клиента Azure AD B2C.
- Зарегистрируйте веб-приложение.
Включите запрос
Войдите на портал Azure в качестве администратора потока пользователей с внешним идентификатором клиента Azure AD B2C.
Если у вас есть доступ к нескольким клиентам, щелкните значок Настройки в верхнем меню, чтобы переключиться на клиент Azure AD B2C из меню Каталоги и подписки.
Выберите все службы в левом верхнем углу портала Azure, найдите и выберите Azure AD B2C.
Выберите потоки пользователей (политики) и выберите поток пользователя. Например, B2C_1_signupsignin1.
Выберите запросы приложения.
Включите утверждение токена доступа поставщика удостоверений.
Нажмите кнопку "Сохранить", чтобы сохранить поток пользователя.
Тестирование потока пользователя
При тестировании ваших приложений в Azure AD B2C может быть полезно получить токен Azure AD B2C на https://jwt.ms
для проверки содержащихся в нем утверждений.
На странице обзора потока пользователя выберите "Запустить поток пользователя".
Для приложения выберите приложение, которое вы ранее зарегистрировали. Чтобы увидеть маркер в приведенном ниже примере, url-адрес ответа должен отображаться
https://jwt.ms
.Нажмите кнопку "Запустить поток пользователя", а затем войдите с помощью учетных данных учетной записи. Вы должны видеть маркер доступа поставщика удостоверений в поле idp_access_token.
Вы должны увидеть что-то подобное следующему примеру:
Добавление элементов утверждения
Откройте файл TrustframeworkExtensions.xml и добавьте следующий элемент ClaimType с идентификатором
identityProviderAccessToken
элемента ClaimsSchema :<BuildingBlocks> <ClaimsSchema> <ClaimType Id="identityProviderAccessToken"> <DisplayName>Identity Provider Access Token</DisplayName> <DataType>string</DataType> <AdminHelpText>Stores the access token of the identity provider.</AdminHelpText> </ClaimType> ... </ClaimsSchema> </BuildingBlocks>
Добавьте элемент OutputClaim в элемент TechnicalProfile для каждого поставщика удостоверений OAuth 2.0, для которых требуется маркер доступа. В следующем примере показан элемент, добавленный в технический профиль Facebook:
<ClaimsProvider> <DisplayName>Facebook</DisplayName> <TechnicalProfiles> <TechnicalProfile Id="Facebook-OAUTH"> <OutputClaims> <OutputClaim ClaimTypeReferenceId="identityProviderAccessToken" PartnerClaimType="{oauth2:access_token}" /> </OutputClaims> ... </TechnicalProfile> </TechnicalProfiles> </ClaimsProvider>
Сохраните файл TrustframeworkExtensions.xml .
Откройте файл политики проверяющей стороны, например SignUpOrSignIn.xml, и добавьте элемент OutputClaim в TechnicalProfile:
<RelyingParty> <DefaultUserJourney ReferenceId="SignUpOrSignIn" /> <TechnicalProfile Id="PolicyProfile"> <OutputClaims> <OutputClaim ClaimTypeReferenceId="identityProviderAccessToken" PartnerClaimType="idp_access_token"/> </OutputClaims> ... </TechnicalProfile> </RelyingParty>
Сохраните файл политики.
Тестирование политики
При тестировании приложений в Azure AD B2C полезно, чтобы токен Azure AD B2C возвращался в https://jwt.ms
, чтобы можно было просмотреть утверждения в нем.
Отправка файлов
- Войдите на портал Azure.
- Если у вас есть доступ к нескольким клиентам, щелкните значок Настройки в верхнем меню, чтобы переключиться на клиент Azure AD B2C из меню Каталоги и подписки.
- Выберите все службы в левом верхнем углу портала Azure, а затем найдите и выберите Azure AD B2C.
- Выберите Identity Experience Framework.
- На странице "Настраиваемые политики" нажмите кнопку "Отправить политику".
- Выберите перезаписать политику, если она существует, а затем найдите и выберите файл TrustframeworkExtensions.xml .
- Выберите Загрузить.
- Повторите шаги 5–7 для файла проверяющей стороны, например SignUpOrSignIn.xml.
Выполните политику
Откройте измененную политику. Например, B2C_1A_signup_signin.
Для приложения выберите приложение, которое вы ранее зарегистрировали. Чтобы увидеть маркер в приведенном ниже примере, url-адрес ответа должен отображаться
https://jwt.ms
.Выберите Запустить немедленно.
Вы должны увидеть что-то подобное следующему примеру:
Передайте токен обновления удостоверений (необязательно)
Токен доступа, возвращаемый поставщиком удостоверений, действителен в течение короткого периода времени. Некоторые поставщики удостоверений также выдают токен обновления вместе с токеном доступа. Затем клиентское приложение может обменять токен обновления провайдера аутентификации на новый токен доступа при необходимости.
Пользовательская политика Azure AD B2C поддерживает использование обновляющего токена поставщиков удостоверений OAuth 2.0, включая Facebook, Google и GitHub.
Чтобы передать токен обновления поставщика удостоверений, выполните следующие действия.
Откройте файл TrustframeworkExtensions.xml и добавьте следующий элемент ClaimType с идентификатором
identityProviderRefreshToken
элемента ClaimsSchema .<ClaimType Id="identityProviderRefreshToken"> <DisplayName>Identity provider refresh token</DisplayName> <DataType>string</DataType> </ClaimType>
Добавьте элемент OutputClaim в элемент TechnicalProfile для каждого поставщика удостоверений OAuth 2.0, для которых требуется маркер обновления. В следующем примере показан элемент, добавленный в технический профиль Facebook:
<ClaimsProvider> <DisplayName>Facebook</DisplayName> <TechnicalProfiles> <TechnicalProfile Id="Facebook-OAUTH"> <OutputClaims> <OutputClaim ClaimTypeReferenceId="identityProviderRefreshToken" PartnerClaimType="{oauth2:refresh_token}" /> </OutputClaims> ... </TechnicalProfile> </TechnicalProfiles> </ClaimsProvider>
Для некоторых поставщиков удостоверений требуется включить метаданные или области в технический профиль поставщика удостоверений.
Для поставщика идентификации Google добавьте два типа заявок
access_type
иprompt
. Затем добавьте следующие входные утверждения в технический профиль поставщика удостоверений:<InputClaims> <InputClaim ClaimTypeReferenceId="access_type" PartnerClaimType="access_type" DefaultValue="offline" AlwaysUseDefaultValue="true" /> <!-- The refresh_token is return only on the first authorization for a given user. Subsequent authorization request doesn't return the refresh_token. To fix this issue we add the prompt=consent query string parameter to the authorization request--> <InputClaim ClaimTypeReferenceId="prompt" PartnerClaimType="prompt" DefaultValue="consent" AlwaysUseDefaultValue="true" /> </InputClaims>
Другие поставщики удостоверений могут иметь различные методы выдачи токена обновления. Следуйте аудитории поставщика удостоверений и добавьте необходимые элементы в технический профиль поставщика удостоверений.
Сохраните изменения, внесенные в файл TrustframeworkExtensions.xml .
Откройте файл политики проверяющей стороны, например SignUpOrSignIn.xml, и добавьте элемент OutputClaim в TechnicalProfile:
<RelyingParty> <DefaultUserJourney ReferenceId="SignUpOrSignIn" /> <TechnicalProfile Id="PolicyProfile"> <OutputClaims> <OutputClaim ClaimTypeReferenceId="identityProviderRefreshToken" PartnerClaimType="idp_refresh_token"/> </OutputClaims> ... </TechnicalProfile> </RelyingParty>
Сохраните изменения, внесенные в файл политики доверяющей стороны.
Отправьте файлTrustframeworkExtensions.xml , а затем файл политики проверяющей стороны.
Дальнейшие шаги
Дополнительные сведения см. в обзоре токенов Azure AD B2C.