Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Это важно
Начиная с 1 мая 2025 г. Azure AD B2C больше не будет доступен для приобретения для новых клиентов. Дополнительные сведения см. в разделе "Вопросы и ответы".
Прежде чем начать, используйте селектор типа политики в верхней части этой страницы, чтобы выбрать тип политики, которую вы настроите. Azure Active Directory B2C предлагает два метода определения способа взаимодействия пользователей с вашими приложениями: с помощью предопределенных потоков пользователей или полностью настраиваемых пользовательских политик. Действия, которые необходимо выполнить, отличаются для каждого метода.
Замечание
В Azure Active Directory B2C пользовательские политики преимущественно предназначены для выполнения сложных сценариев. В большинстве случаев рекомендуется использовать встроенные потоки пользователей. Ознакомьтесь со статьей Начало работы с настраиваемыми политиками в Azure Active Directory B2C, чтобы узнать о базовом пакете настраиваемых политик, если еще не сделали этого.
Обзор
В этой статье описывается настройка федерации с другим клиентом Azure AD B2C. Когда приложения защищены с помощью Azure AD B2C, это позволяет пользователям из других azure AD B2C входить в систему с помощью существующих учетных записей. На следующей схеме пользователи могут войти в приложение, защищенное Azure AD B2C Компании Contoso, с учетной записью, управляемой клиентом Fabrikam в Azure AD B2C. В этом случае учетная запись пользователя должна присутствовать в клиенте Fabrikam, прежде чем приложение, защищенное Azure AD B2C Компании Contoso, может попытаться войти в систему.
Предпосылки
- Создайте поток пользователя, чтобы пользователи могли зарегистрироваться и входить в ваше приложение.
- Зарегистрируйте веб-приложение.
- Выполните действия, описанные в статье "Начало работы с настраиваемыми политиками в Active Directory B2C". В этом руководстве описано, как обновить пользовательские файлы политики для использования конфигурации клиента Azure AD B2C.
- Зарегистрируйте веб-приложение.
Проверка домена издателя приложения
С ноября 2020 года новые регистрации приложений отображаются как непроверенные в запросе согласия пользователя, если домен издателя приложения подтверждени если удостоверение компании было подтверждено в Microsoft Partner Network и связано с приложением. (Дополнительные сведения об этом изменении.) Обратите внимание, что для потоков пользователей Azure AD B2C домен издателя отображается только при использовании учетной записи Майкрософт или другого клиента Microsoft Entra в качестве поставщика удостоверений. Чтобы удовлетворить эти новые требования, выполните следующие действия.
- Подтвердите подлинность вашей компании, используя учетную запись Microsoft Partner Network (MPN). Этот процесс используется для проверки сведений о вашей компании и основном контактном лице компании.
- Выполните процесс проверки издателя, чтобы связать учетную запись MPN с регистрацией приложения с помощью одного из следующих параметров:
- Если регистрация приложения для поставщика удостоверений учетной записи Майкрософт находится в клиенте Microsoft Entra, проверьте ваше приложение в портале регистрации приложений.
- Если регистрация вашего приложения для поставщика удостоверений учетных записей Майкрософт находится в клиенте Azure AD B2C, отметьте приложение как проверенное издателем с помощью Microsoft Graph APIs (например, с помощью Graph Explorer). Пользовательский интерфейс для настройки проверенного издателя приложения в настоящее время отключен для клиентов Azure AD B2C.
Создание приложения Azure AD B2C
Чтобы разрешить вход для пользователей с учетной записью из другого клиента Azure AD B2C (например, Fabrikam), в вашей Azure AD B2C (например, Contoso):
- Создайте поток пользователя или пользовательскую политику.
- Затем создайте приложение в Azure AD B2C, как описано в этом разделе.
Создать приложение.
Войдите на портал Azure.
Если у вас есть доступ к нескольким клиентам, щелкните значок Настройки в верхнем меню, чтобы переключиться на клиент Azure AD B2C из меню Каталоги и подписки.
В портале Azure найдите и выберите Azure AD B2C.
Выберите регистрации приложений и нажмите кнопку "Создать регистрацию".
Введите имя приложения. Например, ContosoApp.
В разделе "Поддерживаемые типы учетных записей" выберите "Учетные записи" в любом поставщике удостоверений или каталоге организации (для проверки подлинности пользователей с помощью потоков пользователей).
В разделе URI перенаправления выберите веб и введите следующий URL-адрес строчными буквами, где
your-B2C-tenant-nameзамените именем арендатора Azure AD B2C (например, Contoso).https://your-B2C-tenant-name.b2clogin.com/your-B2C-tenant-name.onmicrosoft.com/oauth2/authrespНапример:
https://contoso.b2clogin.com/contoso.onmicrosoft.com/oauth2/authresp.Если вы используете личный домен, введите
https://your-domain-name/your-tenant-name.onmicrosoft.com/oauth2/authresp. Заменитеyour-domain-nameличным доменом иyour-tenant-nameименем клиента.В разделе "Разрешения" установите флажок "Предоставить согласие администратора" на разрешения openid и offline_access.
Выберите Зарегистрировать.
На странице регистрации приложений Azure AD B2C выберите созданное приложение, например ContosoApp.
Запишите идентификатор приложения (клиента), показанный на странице обзора приложения. Это необходимо при настройке поставщика удостоверений в следующем разделе.
В меню слева в разделе Управлениевыберите Сертификаты, секреты &.
Выберите новый секрет клиента.
Введите описание секрета клиента в поле Описание. Например, clientsecret1.
В разделе Истекает выберите срок действия секрета, а затем выберите Добавить.
Запишите значение секрета. Это необходимо при настройке поставщика удостоверений в следующем разделе.
Настройка Azure AD B2C в качестве поставщика удостоверений
Войдите на портал Azure.
Если у вас есть доступ к нескольким клиентам, щелкните значок Настройки в верхнем меню, чтобы переключиться на клиент Azure AD B2C из меню Каталоги и подписки.
Выберите все службы в левом верхнем углу портала Azure, а затем найдите и выберите Azure AD B2C.
Выберите поставщики удостоверений и выберите новый поставщик OpenID Connect.
Введите Имя. Например, введите Fabrikam.
Для URL-адреса метаданных введите следующий URL-адрес, замените
{tenant}на доменное имя вашего клиента Azure AD B2C (например, Fabrikam). Замените{policy}на имя политики, которое вы настроили в другом клиенте.https://{tenant}.b2clogin.com/{tenant}.onmicrosoft.com/{policy}/v2.0/.well-known/openid-configurationНапример:
https://fabrikam.b2clogin.com/fabrikam.onmicrosoft.com/B2C_1_susi/v2.0/.well-known/openid-configuration.Для идентификатора клиента введите идентификатор приложения, записанный ранее.
Для секрета клиентавведите секрет клиента, записанный ранее.
В поле "Область" введите
openid.Оставьте значения по умолчанию для типа ответа и режима ответа.
(Необязательно) Для указания домена введите доменное имя, которое вы хотите использовать для прямого входа. Например, fabrikam.com.
В разделе сопоставления утверждений поставщика удостоверений выберите следующие утверждения:
- Идентификатор пользователя: sub
- Отображаемое имя: имя
- Заданное имя: given_name
- Фамилия: family_name
- Электронная почта: электронная почта
Нажмите кнопку "Сохранить".
Добавление поставщика удостоверений Azure AD B2C в поток пользователя
- В клиенте Azure AD B2C выберите потоки пользователей.
- Щелкните поток пользователя, в который вы хотите добавить поставщика удостоверений Azure AD B2C.
- В разделе поставщиков социальных удостоверений выберите Fabrikam.
- Нажмите кнопку "Сохранить".
- Чтобы протестировать вашу политику, выберите Запустить поток пользователя.
- Для приложения выберите веб-приложение с именем testapp1 , которое вы ранее зарегистрировали. В поле URL-адрес ответа должно содержаться значение
https://jwt.ms. - Нажмите на кнопку Запустить пользовательский поток.
- На странице регистрации или входа выберите Fabrikam , чтобы войти с помощью другого клиента Azure AD B2C.
Если процесс входа выполнен успешно, браузер перенаправляется на https://jwt.ms, где отображается содержимое токена, возвращаемого Azure AD B2C.
Создание ключа политики
Необходимо сохранить ключ приложения, созданный ранее в клиенте Azure AD B2C.
- Если у вас есть доступ к нескольким клиентам, щелкните значок Настройки в верхнем меню, чтобы переключиться на клиент Azure AD B2C из меню Каталоги и подписки.
- Выберите все службы в левом верхнем углу портала Azure, а затем найдите и выберите Azure AD B2C.
- В разделе "Политики" выберите Identity Experience Framework.
- Выберите ключи политики и нажмите кнопку "Добавить".
- В разделе "Параметры" выберите
Manual. - Введите имя для ключа политики. Например:
FabrikamAppSecret. ПрефиксB2C_1A_добавляется автоматически в имя ключа при его создании, поэтому его ссылка в XML в следующем разделе — B2C_1A_FabrikamAppSecret. - В поле Secret введите секрет клиента, который вы записали ранее.
- Для использования ключа выберите
Signature. - Нажмите кнопку "Создать".
Настройка Azure AD B2C в качестве поставщика удостоверений
Чтобы пользователи могли войти, используя учетную запись из другого клиента Azure AD B2C (например, Fabrikam), необходимо определить этого клиента Azure AD B2C как поставщика утверждений, с которым Azure AD B2C может взаимодействовать через конечную точку. Конечная точка предоставляет набор утверждений, используемых Azure AD B2C для проверки подлинности определенного пользователя.
Azure AD B2C можно определить как поставщика утверждений, добавив Azure AD B2C в элемент ClaimsProvider в файле расширения политики.
Откройте файлTrustFrameworkExtensions.xml .
Найдите элемент ClaimsProviders . Если он не существует, добавьте его в корневой элемент.
Добавьте новый ClaimsProvider следующим образом:
<ClaimsProvider> <Domain>fabrikam.com</Domain> <DisplayName>Federation with Fabrikam tenant</DisplayName> <TechnicalProfiles> <TechnicalProfile Id="AzureADB2CFabrikam-OpenIdConnect"> <DisplayName>Fabrikam</DisplayName> <Protocol Name="OpenIdConnect"/> <Metadata> <!-- Update the Client ID below to the Application ID --> <Item Key="client_id">00001111-aaaa-2222-bbbb-3333cccc4444</Item> <!-- Update the metadata URL with the other Azure AD B2C tenant name and policy name --> <Item Key="METADATA">https://{tenant}.b2clogin.com/{tenant}.onmicrosoft.com/{policy}/v2.0/.well-known/openid-configuration</Item> <Item Key="UsePolicyInRedirectUri">false</Item> <Item Key="response_types">code</Item> <Item Key="scope">openid</Item> <Item Key="response_mode">form_post</Item> <Item Key="HttpBinding">POST</Item> </Metadata> <CryptographicKeys> <Key Id="client_secret" StorageReferenceId="B2C_1A_FabrikamAppSecret"/> </CryptographicKeys> <OutputClaims> <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="sub" /> <OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="given_name" /> <OutputClaim ClaimTypeReferenceId="surname" PartnerClaimType="family_name" /> <OutputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="name" /> <OutputClaim ClaimTypeReferenceId="email" PartnerClaimType="email" /> <OutputClaim ClaimTypeReferenceId="identityProvider" PartnerClaimType="iss" /> <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" AlwaysUseDefaultValue="true" /> <OutputClaim ClaimTypeReferenceId="otherMails" PartnerClaimType="emails"/> </OutputClaims> <OutputClaimsTransformations> <OutputClaimsTransformation ReferenceId="CreateRandomUPNUserName" /> <OutputClaimsTransformation ReferenceId="CreateUserPrincipalName" /> <OutputClaimsTransformation ReferenceId="CreateAlternativeSecurityId" /> </OutputClaimsTransformations> <UseTechnicalProfileForSessionManagement ReferenceId="SM-SocialLogin"/> </TechnicalProfile> </TechnicalProfiles> </ClaimsProvider>Обновите следующие XML-элементы с соответствующим значением:
XML-элемент Ценность ClaimsProvider\Домен Доменное имя, используемое для прямого входа. Введите доменное имя, которое вы хотите использовать в прямом входе. Например, fabrikam.com. ТехническийПрофиль\ОтображаемоеИмя Это значение будет отображаться на кнопке входа на экране входа. Например, Fabrikam. Метаданные\client_id Идентификатор приложения поставщика идентификационных данных. Обновите идентификатор клиента с идентификатором приложения, созданным ранее в другом клиенте Azure AD B2C. Метаданные\МЕТАДАННЫЕ URL-адрес, указывающий на документ конфигурации поставщика удостоверений OpenID Connect, который также называется известной конечной точкой конфигурации OpenID. Введите следующий URL-адрес, заменив {tenant}доменное имя другого клиента Azure AD B2C (Fabrikam). Замените{tenant}на название политики, которую вы настроили в другом клиенте, и{policy]на название политики:https://{tenant}.b2clogin.com/{tenant}.onmicrosoft.com/{policy}/v2.0/.well-known/openid-configuration. Например:https://fabrikam.b2clogin.com/fabrikam.onmicrosoft.com/B2C_1_susi/v2.0/.well-known/openid-configuration.Криптографические ключи Обновите значение StorageReferenceId до имени ключа политики, созданного ранее. Например: B2C_1A_FabrikamAppSecret.
Добавить пользовательский сценарий
На этом этапе поставщик удостоверений настроен, но он еще не доступен на любой из страниц входа. Если у вас нет собственного пользовательского пути, создайте дубликат существующего пути пользователя шаблона, в противном случае перейдите к следующему шагу.
- Откройте файл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="AzureADB2CFabrikamExchange" />
</ClaimsProviderSelections>
...
</OrchestrationStep>
<OrchestrationStep Order="2" Type="ClaimsExchange">
...
<ClaimsExchanges>
<ClaimsExchange Id="AzureADB2CFabrikamExchange" TechnicalProfileReferenceId="AzureADB2CFabrikam-OpenIdConnect" />
</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. - Нажмите кнопку "Запустить сейчас ".
- На странице регистрации или входа выберите Fabrikam , чтобы войти с помощью другого клиента Azure AD B2C.
Если процесс входа выполнен успешно, браузер перенаправляется на https://jwt.ms, где отображается содержимое токена, возвращаемого Azure AD B2C.
Дальнейшие шаги
Узнайте, как передать в приложение другой токен Azure AD B2C.