Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Это важно
Начиная с 1 мая 2025 г. Azure AD B2C больше не будет доступен для приобретения для новых клиентов. Дополнительные сведения см. в разделе "Вопросы и ответы".
Прежде чем начать, используйте селектор типа политики в верхней части этой страницы, чтобы выбрать тип политики, которую вы настроите. Azure Active Directory B2C предлагает два метода определения способа взаимодействия пользователей с вашими приложениями: с помощью предопределенных потоков пользователей или полностью настраиваемых пользовательских политик. Действия, которые необходимо выполнить, отличаются для каждого метода.
Примечание.
В Azure Active Directory B2C пользовательские политики преимущественно предназначены для выполнения сложных сценариев. В большинстве случаев рекомендуется использовать встроенные потоки пользователей. Ознакомьтесь со статьей Начало работы с настраиваемыми политиками в Azure Active Directory B2C, чтобы узнать о базовом пакете настраиваемых политик, если еще не сделали этого.
Предпосылки
- Создайте поток пользователя, чтобы пользователи могли зарегистрироваться и входить в ваше приложение.
- Зарегистрируйте веб-приложение.
- Выполните действия, описанные в статье "Начало работы с настраиваемыми политиками в Active Directory B2C". В этом руководстве описано, как обновить пользовательские файлы политики для использования конфигурации клиента Azure AD B2C.
- Зарегистрируйте веб-приложение.
Создание приложения Apple ID
Чтобы включить вход для пользователей с помощью Apple ID в Azure Active Directory B2C (Azure AD B2C), необходимо создать приложение в https://developer.apple.com. Дополнительные сведения см. в разделе "Вход с помощью Apple". Если у вас еще нет учетной записи разработчика Apple, вы можете зарегистрироваться в программе разработчика Apple.
- Войдите на портал разработчика Apple с учетными данными учетной записи.
- В меню выберите сертификаты, идентификаторы и профили, а затем выберите (+).
- Для регистрации нового идентификатора выберите идентификаторы приложений и нажмите кнопку "Продолжить".
- Для выбора типа выберите "Приложение" и нажмите кнопку "Продолжить".
- Для регистрации идентификатора приложения:
- Введите описание
- Введите идентификатор пакета, например
com.contoso.azure-ad-b2c
. - Для возможностей выберите "Войти с помощью Apple" из списка возможностей.
- Запишите идентификатор команды (префикс идентификатора приложения) на этом шаге. Оно понадобится вам позже.
- Выберите Продолжить, а затем Зарегистрировать.
- В меню выберите сертификаты, идентификаторы и профили, а затем выберите (+).
- Для регистрации нового идентификатора выберите идентификаторы служб и нажмите кнопку "Продолжить".
- Для регистрации идентификатора служб:
- Введите Описание. Описание отображается пользователю на экране согласия.
- Введите идентификатор, например
com.consoto.azure-ad-b2c-service
. Обратите внимание на ваш идентификатор сервиса. Идентификатором является идентификатор клиента для потока OpenID Connect. - Выберите Продолжить, а затем выберите Зарегистрировать.
- В поле "Идентификаторы" выберите созданный идентификатор.
- Выберите войти с помощью Apple, а затем выберите Настроить.
- Выберите идентификатор основного приложения , с помощью которого вы хотите настроить вход с помощью Apple.
- В доменах и поддоменах введите
your-tenant-name.b2clogin.com
. Замените your-tenant-name на имя вашего арендатора. Если вы используете личный домен, введитеhttps://your-domain-name
. - Введите URL-адреса возврата в
https://your-tenant-name.b2clogin.com/your-tenant-name.onmicrosoft.com/oauth2/authresp
. Если вы используете личный домен, введитеhttps://your-domain-name/your-tenant-name.onmicrosoft.com/oauth2/authresp
. Заменитеyour-tenant-name
именем клиента иyour-domain-name
личным доменом. URL-адрес возврата должен находиться во всех нижних регистрах. - Выберите Далее, а затем выберите Готово.
- Когда всплывающее окно закрыто, выберите Продолжить, а затем нажмите кнопку Сохранить.
Создание секрета клиента Apple
- В меню портала разработчика Apple выберите "Ключи", а затем выберите (+).
- Для регистрации нового ключа:
- Введите имя ключа .
- Выберите вход с помощью Apple и нажмите кнопку "Настроить".
- Для идентификатора основного приложения выберите созданное ранее приложение и нажмите кнопку "Сохранить".
- Выберите "Настроить", а затем нажмите кнопку "Регистрация ", чтобы завершить процесс регистрации ключей. Обратите внимание на идентификатор ключа . Этот ключ необходим при настройке потоков пользователей.
- Чтобы скачать ключ, выберите "Скачать ", чтобы скачать P8-файл, содержащий ключ.
Настройка Apple в качестве поставщика удостоверений
- Войдите на портал Azure с учетной записью, которая имеет по крайней мере права администратора внешнего поставщика удостоверений .
- Если у вас есть доступ к нескольким клиентам, щелкните значок Настройки в верхнем меню, чтобы переключиться на клиент Azure AD B2C из меню Каталоги и подписки.
- В разделе "Службы Azure" выберите Azure AD B2C. Или используйте поле поиска, чтобы найти и выбрать Azure AD B2C.
- Выберите поставщики удостоверений, а затем выберите Apple.
- В поле "Имя" введите вход с помощью Apple.
- Введите идентификатор разработчика Apple (Team ID).
- Введите идентификатор службы Apple (идентификатор клиента).
- Введите идентификатор ключа Apple на шаге "Создание секрета клиента Apple".
- Выберите и отправьте данные сертификата Apple.
- Выберите Сохранить.
Это важно
- Для входа с помощью Apple администратор должен обновлять секрет клиента каждые 6 месяцев.
- Секрет клиента Apple будет автоматически продлен при истечении срока действия. Если вам нужно вручную обновить секрет, откройте Azure AD B2C на портале Azure, перейдите к поставщикам >удостоверенийApple и выберите "Продлить секрет".
- Следуйте инструкциям по размещению кнопки «Вход с помощью Apple».
Добавление поставщика удостоверений Apple в поток пользователя
Чтобы пользователи могли войти с помощью Apple ID, необходимо добавить поставщика Apple ID в пользовательский поток. Вход с помощью Apple можно настроить только для рекомендуемой версии потоков пользователей. Чтобы добавить поставщика идентификаций Apple в поток пользователя:
- В клиенте Azure AD B2C выберите потоки пользователей.
- Выберите сценарий пользовательского взаимодействия, для которого вы хотите добавить поставщика удостоверений Apple.
- В разделе "Поставщики социальных удостоверений" выберите Apple.
- Выберите Сохранить.
- Чтобы протестировать вашу политику, выберите Запустить поток пользователя.
- Для приложения выберите веб-приложение с именем testapp1 , которое вы ранее зарегистрировали. В поле URL-адрес ответа должно содержаться значение
https://jwt.ms
. - Нажмите на кнопку Запустить пользовательский поток.
- На странице регистрации или входа выберите Apple , чтобы войти с помощью Apple ID.
Если процесс входа выполнен успешно, браузер перенаправляется на https://jwt.ms
, где отображается содержимое токена, возвращаемого Azure AD B2C.
Подписывание клиентского секрета
Используйте P8-файл, скачанный ранее, чтобы подписать секрет клиента в JWT. Существует множество библиотек, которые могут создавать и подписывать JWT. Используйте функцию Azure, которая создает маркер для вас.
Создайте функцию Azure.
В разделе "Разработчик" выберите "Код и тест".
Скопируйте содержимое файла run.csx и вставьте его в редактор.
Выберите Сохранить.
Выполните HTTP-запрос
POST
и укажите следующие сведения:- appleTeamId: идентификатор группы разработчиков Apple
- appleServiceId: идентификатор службы Apple (идентификатор клиента)
- appleKeyId: идентификатор ключа 10 цифр, хранящийся в заголовке JWT (требуется Apple)
-
p8key: ключ формата PEM. Это можно получить, открыв P8-файл в текстовом редакторе и скопировав все между
-----BEGIN PRIVATE KEY-----
и-----END PRIVATE KEY-----
без разрывов строк.
Следующий json является примером вызова функции Azure:
{
"appleTeamId": "ABC123DEFG",
"appleServiceId": "com.yourcompany.app1",
"appleKeyId": "URKEYID001",
"p8key": "MIGTAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBHkwdwIBAQQg+s07NiAcuGEu8rxsJBG7ttupF6FRe3bXdHxEipuyK82gCgYIKoZIzj0DAQehRANCAAQnR1W/KbbaihTQayXH3tuAXA8Aei7u7Ij5OdRy6clOgBeRBPy1miObKYVx3ki1msjjG2uGqRbrc1LvjLHINWRD"
}
Функция Azure отвечает правильно отформатированным и подписанным секретом клиента JWT в ответе, например:
{
"token": "eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJjb20ueW91cmNvbXBhbnkuYXBwMSIsIm5iZiI6MTU2MDI2OTY3NSwiZXhwIjoxNTYwMzU2MDc1LCJpc3MiOiJBQkMxMjNERUZHIiwiYXVkIjoiaHR0cHM6Ly9hcHBsZWlkLmFwcGxlLmNvbSJ9.Dt9qA9NmJ_mk6tOqbsuTmfBrQLFqc9BnSVKR6A-bf9TcTft2XmhWaVODr7Q9w1PP3QOYShFXAnNql5OdNebB4g"
}
Создание ключа политики
Необходимо сохранить секрет клиента, записанный ранее в клиенте Azure AD B2C.
- Войдите на портал Azure.
- Если у вас есть доступ к нескольким клиентам, щелкните значок Настройки в верхнем меню, чтобы переключиться на клиент Azure AD B2C из меню Каталоги и подписки.
- В разделе "Службы Azure" выберите Azure AD B2C. Или используйте поле поиска, чтобы найти и выбрать Azure AD B2C.
- На странице "Обзор" выберите Identity Experience Framework.
- Выберите ключи политики и нажмите кнопку "Добавить".
- В разделе "Параметры" выберите "Вручную".
- Введите имя для ключа политики. Например, AppleSecret. Префикс "B2C_1A_" добавляется автоматически в имя ключа.
- В Secret введите значение токена, возвращенного функцией Azure (JWT).
- Для назначения ключа выберите Подпись.
- Выберите Создать.
Это важно
- Для входа с помощью Apple администратор должен обновлять секрет клиента каждые 6 месяцев.
- Если срок действия истекает, необходимо вручную обновить секрет клиента Apple и сохранить новое значение в ключе политики.
- Рекомендуем вам установить напоминание на период в 6 месяцев, чтобы сгенерировать новый секрет клиента.
- Следуйте инструкциям по размещению кнопки «Вход с помощью Apple».
Настройка Apple в качестве поставщика удостоверений
Чтобы пользователи могли войти с помощью Apple ID, необходимо определить учетную запись в качестве поставщика утверждений, с которым Azure AD B2C может взаимодействовать через конечную точку. Конечная точка предоставляет набор утверждений, используемых Azure AD B2C для проверки подлинности конкретного пользователя.
Идентификатор Apple ID можно определить как поставщика утверждений, добавив его в элемент ClaimsProviders в файле расширения вашей политики.
Откройте TrustFrameworkExtensions.xml.
Найдите элемент ClaimsProviders . Если он не существует, добавьте его в корневой элемент.
Добавьте новый ClaimsProvider следующим образом:
<ClaimsProvider> <Domain>apple.com</Domain> <DisplayName>Apple</DisplayName> <TechnicalProfiles> <TechnicalProfile Id="Apple-OIDC"> <DisplayName>Sign in with Apple</DisplayName> <Protocol Name="OpenIdConnect" /> <Metadata> <Item Key="ProviderName">apple</Item> <Item Key="authorization_endpoint">https://appleid.apple.com/auth/authorize</Item> <Item Key="AccessTokenEndpoint">https://appleid.apple.com/auth/token</Item> <Item Key="JWKS">https://appleid.apple.com/auth/keys</Item> <Item Key="issuer">https://appleid.apple.com</Item> <Item Key="scope">name email openid</Item> <Item Key="HttpBinding">POST</Item> <Item Key="response_types">code</Item> <Item Key="external_user_identity_claim_id">sub</Item> <Item Key="response_mode">form_post</Item> <Item Key="ReadBodyClaimsOnIdpRedirect">user.name.firstName user.name.lastName user.email</Item> <Item Key="client_id">You Apple ID</Item> <Item Key="UsePolicyInRedirectUri">false</Item> </Metadata> <CryptographicKeys> <Key Id="client_secret" StorageReferenceId="B2C_1A_AppleSecret"/> </CryptographicKeys> <OutputClaims> <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="sub" /> <OutputClaim ClaimTypeReferenceId="identityProvider" DefaultValue="https://appleid.apple.com" AlwaysUseDefaultValue="true" /> <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" AlwaysUseDefaultValue="true" /> <OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="user.name.firstName"/> <OutputClaim ClaimTypeReferenceId="surname" PartnerClaimType="user.name.lastName"/> <OutputClaim ClaimTypeReferenceId="email" /> </OutputClaims> <OutputClaimsTransformations> <OutputClaimsTransformation ReferenceId="CreateRandomUPNUserName"/> <OutputClaimsTransformation ReferenceId="CreateUserPrincipalName"/> <OutputClaimsTransformation ReferenceId="CreateAlternativeSecurityId"/> <OutputClaimsTransformation ReferenceId="CreateSubjectClaimFromAlternativeSecurityId"/> </OutputClaimsTransformations> <UseTechnicalProfileForSessionManagement ReferenceId="SM-SocialLogin" /> </TechnicalProfile> </TechnicalProfiles> </ClaimsProvider>
Задайте client_id идентификатору службы. Например:
com.consoto.azure-ad-b2c-service
.Сохраните файл.
Добавить пользовательский сценарий
На этом этапе поставщик удостоверений настроен, но он еще не доступен на любой из страниц входа. Если у вас нет собственного пользовательского пути, создайте дубликат существующего пути пользователя шаблона, в противном случае перейдите к следующему шагу.
- Откройте файл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="AppleExchange" />
</ClaimsProviderSelections>
...
</OrchestrationStep>
<OrchestrationStep Order="2" Type="ClaimsExchange">
...
<ClaimsExchanges>
<ClaimsExchange Id="AppleExchange" TechnicalProfileReferenceId="Apple-OIDC" />
</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
. - Нажмите кнопку "Запустить сейчас ".
- На странице регистрации или входа выберите Apple , чтобы войти с помощью Apple ID.
Если процесс входа выполнен успешно, браузер перенаправляется на https://jwt.ms
, где отображается содержимое токена, возвращаемого Azure AD B2C.
Настройка пользовательского интерфейса
Следуйте указаниям, как предложить вход с помощью Apple. Apple предоставляет несколько кнопок Войти с использованием Apple, которые позволяют пользователям настраивать учетную запись и выполнять вход. При необходимости создайте пользовательскую кнопку, чтобы предложить вход с помощью Apple. Узнайте, как отобразить вход с помощью кнопки Apple.
Чтобы соответствовать рекомендациям по пользовательскому интерфейсу Apple, выполните следующие действия.
- Настройка пользовательского интерфейса с помощью шаблонов HTML
- Локализация имени поставщика удостоверений.