Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Это важно
Начиная с 1 мая 2025 г. Azure AD B2C больше не будет доступен для приобретения для новых клиентов. Дополнительные сведения см. в разделе "Вопросы и ответы".
Прежде чем начать, используйте селектор типа политики в верхней части этой страницы, чтобы выбрать тип политики, которую вы настроите. Azure Active Directory B2C предлагает два метода определения способа взаимодействия пользователей с вашими приложениями: с помощью предопределенных потоков пользователей или полностью настраиваемых пользовательских политик. Действия, которые необходимо выполнить, отличаются для каждого метода.
Замечание
В Azure Active Directory B2C пользовательские политики преимущественно предназначены для выполнения сложных сценариев. В большинстве случаев рекомендуется использовать встроенные потоки пользователей. Ознакомьтесь со статьей Начало работы с настраиваемыми политиками в Azure Active Directory B2C, чтобы узнать о базовом пакете настраиваемых политик, если еще не сделали этого.
Предпосылки
- Создайте поток пользователя, чтобы пользователи могли зарегистрироваться и входить в ваше приложение.
- Зарегистрируйте веб-приложение.
- Выполните действия, описанные в статье "Начало работы с настраиваемыми политиками в Active Directory B2C". В этом руководстве описано, как обновить пользовательские файлы политики для использования конфигурации клиента Azure AD B2C.
- Зарегистрируйте веб-приложение.
Создание приложения
Чтобы включить вход для пользователей с учетной записью X в Azure AD B2C, необходимо создать приложение X. Если у вас еще нет учетной записи X, вы можете зарегистрироваться по адресу https://x.com/signup
. Вам также необходимо подать заявку на получение учетной записи разработчика. Дополнительные сведения см. в разделе Подача заявки на доступ.
- Войдите на портал разработчика X , используя учетные данные учетной записи X.
- Нажмите кнопку + Создать проект .
- На вкладке Имя проекта введите предпочтительное имя проекта, а затем нажмите кнопку Далее .
- На вкладке Вариант использования выберите нужный вариант использования, а затем нажмите кнопку Далее.
- На вкладке Описание проекта введите описание проекта, а затем нажмите кнопку Далее .
- На вкладке " Имя приложения " введите имя приложения, например azureadb2c, и нажмите кнопку "Далее ".
- На вкладке «Ключи и токены » скопируйте значения параметров «Ключ API » и «Секрет ключа API». Вы будете использовать их для настройки позже.
- Выберите Настройки приложения , чтобы открыть настройки приложения.
- В нижней части страницы в разделе Настройки аутентификации пользователя выберите Настроить.
- В разделе Тип приложения выберите соответствующий тип приложения, например Веб-приложение.
- В разделе «Информация о приложении»:
- Для URL-адреса обратного вызова/перенаправления введите
https://your-tenant-name.b2clogin.com/your-tenant-name.onmicrosoft.com/your-policy-id/oauth1/authresp
. Если вы используете личный домен, введитеhttps://your-domain-name/your-tenant-name.onmicrosoft.com/your-user-flow-Id/oauth1/authresp
. Используйте все строчные буквы при вводе имени клиента и идентификатора потока пользователя, даже если они определены прописными буквами в Azure AD B2C. Заменить:-
your-tenant-name
с именем арендатора. -
your-domain-name
с помощью вашего личного домена. -
your-policy-id
с идентификатором вашего пользовательского потока. Например:b2c_1a_signup_signin_x
.
-
- В поле URL-адрес веб-сайта введите
https://your-tenant.b2clogin.com
. Заменитеyour-tenant
именем клиента. Например:https://contosob2c.b2clogin.com
. Если вы используете личный домен, введитеhttps://your-domain-name
. - (Дополнительный) Введите URL-адрес для Условий предоставления услуг, например
http://www.contoso.com/tos
. URL-адрес политики — это управляемая вами страница, где предоставляются сведения об условиях использования вашего приложения. - (Дополнительный) Введите URL-адрес для политики конфиденциальности, например
http://www.contoso.com/privacy
. URL-адрес политики — это управляемая вами страница, где предоставляются сведения о конфиденциальности для вашего приложения.
- Для URL-адреса обратного вызова/перенаправления введите
- Нажмите кнопку "Сохранить".
- Войдите на портал разработчика X , используя учетные данные учетной записи X.
- Нажмите кнопку + Создать проект .
- На вкладке Имя проекта введите предпочтительное имя проекта, а затем нажмите кнопку Далее .
- На вкладке Вариант использования выберите нужный вариант использования, а затем нажмите кнопку Далее.
- На вкладке Описание проекта введите описание проекта, а затем нажмите кнопку Далее .
- На вкладке " Имя приложения " введите имя приложения, например azureadb2c, и нажмите кнопку "Далее ".
- На вкладке «Ключи и токены » скопируйте значения API Key и API Key Secret для последующего использования. Вы используете их оба для настройки X в качестве поставщика удостоверений в клиенте Azure AD B2C.
- Выберите Настройки приложения , чтобы открыть настройки приложения.
- В нижней части страницы в разделе Настройки аутентификации пользователя выберите Настроить.
- В разделе Тип приложения выберите соответствующий тип приложения, например Веб-приложение.
- В разделе «Информация о приложении»:
- Для URL-адреса обратного вызова/перенаправления введите
https://your-tenant.b2clogin.com/your-tenant-name.onmicrosoft.com/your-user-flow-name/oauth1/authresp
. Если вы используете личный домен, введитеhttps://your-domain-name/your-tenant-name.onmicrosoft.com/your-user-flow-Id/oauth1/authresp
. Используйте все строчные буквы при вводе имени клиента и идентификатора потока пользователя, даже если они определены прописными буквами в Azure AD B2C. Заменить:-
your-tenant-name
с именем арендатора. -
your-domain-name
с помощью вашего личного домена. -
your-user-flow-name
с идентификатором вашего пользовательского потока. Например:b2c_1_signup_signin_x
.
-
- В поле URL-адрес веб-сайта введите
https://your-tenant.b2clogin.com
. Заменитеyour-tenant
именем клиента. Например:https://contosob2c.b2clogin.com
. Если вы используете личный домен, введитеhttps://your-domain-name
. - Введите URL-адрес для Условий предоставления услуг, например
http://www.contoso.com/tos
. URL-адрес политики — это управляемая вами страница, где предоставляются сведения об условиях использования вашего приложения. - Введите URL-адрес для политики конфиденциальности, например
http://www.contoso.com/privacy
. URL-адрес политики — это управляемая вами страница, где предоставляются сведения о конфиденциальности для вашего приложения.
- Для URL-адреса обратного вызова/перенаправления введите
- Нажмите кнопку "Сохранить".
Настройка X в качестве поставщика удостоверений
- Войдите на портал Azure с учетной записью, которая имеет по крайней мере права администратора внешнего поставщика удостоверений .
- Если у вас есть доступ к нескольким клиентам, щелкните значок Настройки в верхнем меню, чтобы переключиться на клиент Azure AD B2C из меню Каталоги и подписки.
- Выберите все службы в левом верхнем углу портала Azure, найдите и выберите Azure AD B2C.
- Выберите Поставщики удостоверений, а затем выберите Twitter.
- Введите Имя. Например, X.
- В качестве идентификатора клиента введите ключ API созданного ранее приложения X.
- В поле Секрет клиента введите записанный секрет ключа API .
- Нажмите кнопку "Сохранить".
Добавьте поставщика удостоверений X в поток пользователя
На данный момент поставщик удостоверений X настроен, но он еще не доступен ни на одной из страниц входа. Чтобы добавить поставщик удостоверений X в поток пользователя, выполните следующие действия.
- В клиенте Azure AD B2C выберите потоки пользователей.
- Выберите поток пользователя, в который вы хотите добавить удостоверяющего поставщика X.
- В разделе Поставщики удостоверений социальных сетей выберите Twitter.
- Нажмите кнопку "Сохранить".
Тестирование пользовательского потока
- Чтобы протестировать вашу политику, выберите Запустить поток пользователя.
- Для приложения выберите веб-приложение с именем testapp1 , которое вы ранее зарегистрировали. В поле URL-адрес ответа должно содержаться значение
https://jwt.ms
. - Нажмите на кнопку Запустить пользовательский поток.
- На странице регистрации или входа выберите Twitter , чтобы войти с помощью учетной записи X.
Создание ключа политики
Необходимо сохранить секретный ключ, ранее записанный для приложения X, в клиенте Azure AD B2C.
- Войдите на портал Azure.
- Если у вас есть доступ к нескольким клиентам, щелкните значок Настройки в верхнем меню, чтобы переключиться на клиент Azure AD B2C из меню Каталоги и подписки.
- В портале Azure найдите и выберите Azure AD B2C.
- В меню слева в разделе Политики выберите Identity Experience Framework.
- Выберите ключи политики и нажмите кнопку "Добавить".
- В разделе "Параметры" выберите
Manual
. - Введите имя для ключа политики. Например:
XSecret
. ПрефиксB2C_1A_
добавляется автоматически в имя ключа. - В поле Секрет введите значение секрета ключа API , которое вы записали ранее.
- Для использования ключа выберите
Signature
. - Нажмите кнопку Создать.
Настройка X в качестве поставщика удостоверений
Чтобы пользователи могли входить в систему с помощью учетной записи X, необходимо определить учетную запись в качестве поставщика утверждений, с которым Azure AD B2C может взаимодействовать через конечную точку. Конечная точка предоставляет набор утверждений, используемых Azure AD B2C для проверки подлинности определенного пользователя.
Вы можете определить учетную запись X в качестве поставщика утверждений, добавив ее в элемент ClaimsProviders в файле расширения политики. Обратитесь к начальному пакету пользовательской политики, который вы скачали в разделе Предварительные требования этой статьи.
Откройте TrustFrameworkExtensions.xml.
Найдите элемент ClaimsProviders . Если он не существует, добавьте его в корневой элемент.
Добавьте новый ClaimsProvider следующим образом:
<ClaimsProvider> <Domain>x.com</Domain> <DisplayName>X</DisplayName> <TechnicalProfiles> <TechnicalProfile Id="Twitter-OAuth1"> <DisplayName>X</DisplayName> <Protocol Name="OAuth1" /> <Metadata> <Item Key="ProviderName">Twitter</Item> <Item Key="authorization_endpoint">https://api.twitter.com/oauth/authenticate</Item> <Item Key="access_token_endpoint">https://api.twitter.com/oauth/access_token</Item> <Item Key="request_token_endpoint">https://api.twitter.com/oauth/request_token</Item> <Item Key="ClaimsEndpoint">https://api.twitter.com/1.1/account/verify_credentials.json?include_email=true</Item> <Item Key="ClaimsResponseFormat">json</Item> <Item Key="client_id">Your X application API key</Item> </Metadata> <CryptographicKeys> <Key Id="client_secret" StorageReferenceId="B2C_1A_TwitterSecret" /> </CryptographicKeys> <OutputClaims> <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="user_id" /> <OutputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="screen_name" /> <OutputClaim ClaimTypeReferenceId="email" /> <OutputClaim ClaimTypeReferenceId="identityProvider" DefaultValue="twitter.com" /> <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>
Замените значение client_idна ключ API , который вы записали ранее.
Сохраните файл.
Добавить пользовательский сценарий
На этом этапе поставщик удостоверений настроен, но он еще не доступен на любой из страниц входа. Если у вас нет собственного пользовательского пути, создайте дубликат существующего пути пользователя шаблона, в противном случае перейдите к следующему шагу.
- Откройте файлTrustFrameworkBase.xml из начального пакета.
- Найдите и скопируйте все содержимое элемента UserJourney , который включает в себя
Id="SignUpOrSignIn"
. - Откройте TrustFrameworkExtensions.xml и найдите элемент UserJourneys . Если элемент не существует, добавьте его.
- Вставьте все содержимое элемента UserJourney , скопированного в качестве дочернего элемента UserJourneys .
- Переименуйте идентификатор пути пользователя. Например:
Id="CustomSignUpSignIn"
.
Добавьте поставщика удостоверений в путь пользователя
Теперь, когда у вас есть путь пользователя, добавьте нового поставщика идентификации в этот путь. Сначала вы добавляете кнопку входа, а затем связываете кнопку с действием. Действие — это технический профиль, который вы создали ранее.
Найдите элемент шага оркестрации, который включает в себя
Type="CombinedSignInAndSignUp"
илиType="ClaimsProviderSelection"
в процессе работы пользователя. Обычно это первый шаг оркестрации. Элемент ClaimsProviderSelections содержит список поставщиков удостоверений, с которыми пользователь может войти. Порядок элементов определяет порядок кнопок входа, представленных пользователю. Добавьте XML-элемент ClaimsProviderSelection . Задайте для параметра TargetClaimsExchangeId понятное имя.На следующем шаге оркестрации добавьте элемент ClaimsExchange . Установите Id на значение идентификатора целевого обмена утверждениями. Обновите значение TechnicalProfileReferenceId на идентификатор ранее созданного технического профиля.
Следующий XML-код демонстрирует первые два этапа оркестрации взаимодействия пользователя с поставщиком удостоверений:
<OrchestrationStep Order="1" Type="CombinedSignInAndSignUp" ContentDefinitionReferenceId="api.signuporsignin">
<ClaimsProviderSelections>
...
<ClaimsProviderSelection TargetClaimsExchangeId="TwitterExchange" />
</ClaimsProviderSelections>
...
</OrchestrationStep>
<OrchestrationStep Order="2" Type="ClaimsExchange">
...
<ClaimsExchanges>
<ClaimsExchange Id="TwitterExchange" TechnicalProfileReferenceId="Twitter-OAuth1" />
</ClaimsExchanges>
</OrchestrationStep>
Настройте политику доверяющей стороны
Политика проверяющей стороны, например SignUpSignIn.xml, указывает пользовательский сценарий, который будет выполнять Azure AD B2C. Найдите элемент DefaultUserJourney в поддерживающей стороне. Обновите ReferenceId, чтобы он соответствовал идентификатору пути пользователя, где вы добавили провайдера идентификации.
В следующем примере для CustomSignUpSignIn
пути пользователя для параметра ReferenceId задано значение CustomSignUpSignIn
:
<RelyingParty>
<DefaultUserJourney ReferenceId="CustomSignUpSignIn" />
...
</RelyingParty>
Отправка настраиваемой политики
- Войдите на портал Azure.
- Щелкните значок каталога и подписки на панели инструментов портала, а затем выберите каталог, содержащий клиент Azure AD B2C.
- В портале Azure найдите и выберите Azure AD B2C.
- В разделе "Политики" выберите Identity Experience Framework.
- Выберите " Отправить настраиваемую политику", а затем отправьте два измененных файла политики в следующем порядке: политика расширения, например
TrustFrameworkExtensions.xml
, политика проверяющей стороны, напримерSignUpSignIn.xml
.
Проверка настраиваемой политики
- Выберите политику доверенной стороны, например
B2C_1A_signup_signin
. - Для приложения выберите веб-приложение, которое вы ранее зарегистрировали. В поле URL-адрес ответа должно содержаться значение
https://jwt.ms
. - Нажмите кнопку "Запустить сейчас ".
- На странице регистрации или входа выберите Twitter , чтобы войти с помощью учетной записи X.
Если процесс входа выполнен успешно, браузер перенаправляется на https://jwt.ms
, где отображается содержимое токена, возвращаемого Azure AD B2C.
Подсказка
Если вы столкнулись с unauthorized
ошибкой при тестировании этого поставщика удостоверений, убедитесь, что вы используете правильный ключ X API и секрет ключа API, или попробуйте подать заявку на расширенный доступ. Кроме того, мы рекомендуем вам ознакомиться со структурой проектов X, если вы зарегистрировали свое приложение до того, как функция стала доступна.