Руководство по созданию потоков пользователей и пользовательских политик в Azure Active Directory B2C
Прежде чем начать, используйте селектор типа политики в верхней части этой страницы, чтобы выбрать тип политики, которую вы настроите. Azure Active Directory B2C предлагает два метода определения способа взаимодействия пользователей с вашими приложениями: с помощью предопределенных потоков пользователей или полностью настраиваемых пользовательских политик. Действия, которые необходимо выполнить, отличаются для каждого метода.
В приложениях могут быть потоки пользователей, позволяющие пользователям регистрироваться, выполнять вход или управлять их профилем. Вы можете создать несколько потоков пользователей разных типов в клиенте Azure Active Directory B2C (Azure AD B2C) и использовать их в приложениях по мере необходимости. Потоки пользователей можно повторно использовать в приложениях.
Поток пользователей позволяет определить, как пользователи взаимодействуют с приложением при выполнении таких действий, как вход, регистрация, изменение профиля или сброс пароля. В этой статье вы узнаете, как:
Пользовательские политики — это файлы конфигурации, определяющие поведение клиента Azure Active Directory B2C (Azure AD B2C). В этой статье вы узнаете, как:
- Создайте поток пользователя для регистрации и входа в систему
- Включите самостоятельный сброс пароля
- Создание потока пользователя для редактирования профиля
Это важно
Мы изменили способ, которым мы ссылаемся на версии потока пользователей. Ранее мы предложили версии версии 1 (готовые к работе) и версии 1.1 и версии 2 (предварительная версия). Теперь мы объединили потоки пользователей в две версии: рекомендуемые потоки пользователей с последними функциями и стандартными (устаревшими) потоками пользователей . Все устаревшие сценарии работы пользователей предварительной версии (версии 1.1 и версии 2) не поддерживаются. Дополнительные сведения см. в разделе "Версии потока пользователей" в Azure AD B2C. Эти изменения применяются только к общедоступному облаку Azure. Другие среды будут продолжать использовать устаревшую версию потока пользователей.
Предпосылки
- Если у вас его еще нет, создайте клиент Azure AD B2C, связанный с вашей подпиской Azure.
- Зарегистрируйте веб-приложение и включите неявное предоставление ID-токена.
- Если у вас его еще нет, создайте клиент Azure AD B2C, связанный с вашей подпиской Azure.
- Зарегистрируйте веб-приложение и включите неявное предоставление маркера идентификатора.
Создайте поток пользователя для регистрации и входа в систему
Поток регистрации и входа в систему обрабатывает обе возможности с одной конфигурацией. Пользователи вашего приложения направляются в нужном направлении в зависимости от контекста. Чтобы создать процесс регистрации и входа пользователя в систему, выполните приведенные ниже действия.
Войдите на портал Azure.
Если у вас есть доступ к нескольким клиентам, щелкните значок Настройки в верхнем меню, чтобы переключиться на клиент Azure AD B2C из меню Каталоги и подписки.
В портале Azure найдите и выберите Azure AD B2C.
В разделе "Политики" выберите потоки пользователей и выберите "Создать поток пользователя".
На странице Создание потока пользователя выберите поток пользователя Регистрация и вход.
В разделе "Выбор версии" выберите "Рекомендуется" и нажмите кнопку "Создать". (Дополнительные сведения о версиях потока пользователей.)
Введите имя для потока пользователя. Например, signupsignin1.
Для поставщиков удостоверений выберите регистрацию по электронной почте.
Для атрибутов пользователей и требований токена выберите те требования и атрибуты, которые вы хотите собирать и отправлять пользователю во время регистрации. Например, щелкните Показать еще, а затем выберите атрибуты и утверждения Страна или регион, Отображаемое имя и Почтовый индекс. Нажмите ОК.
Нажмите кнопку "Создать", чтобы добавить поток пользователя. Префикс B2C_1_ автоматически добавляется в указанное ранее имя. Например, B2C_1_signupsignin1.
Тестирование потока пользователя
На странице "Потоки пользователей " выберите только что созданный поток пользователя, чтобы открыть страницу обзора.
В верхней части страницы обзора потока пользователя выберите "Запустить поток пользователя". Область откроется справа от страницы.
Для приложения выберите веб-приложение, которое вы хотите протестировать, например одно с именем webapp1. В поле URL-адрес ответа должно содержаться значение
https://jwt.ms
.Выберите "Запустить поток пользователя", а затем нажмите кнопку "Зарегистрироваться".
Введите допустимый адрес электронной почты, выберите "Отправить код проверки", введите полученный код проверки, а затем нажмите кнопку "Проверить код".
Введите новый пароль и подтвердите его.
Выберите страну и регион, введите отображаемое имя, введите почтовый индекс и нажмите кнопку "Создать". Маркер возвращается к
https://jwt.ms
и должен отображаться для вас в вашем браузере.Теперь вы можете снова запустить поток пользователя, и вы сможете войти с помощью только что созданной учетной записи. Возвращенный маркер включает утверждения, которые вы выбрали: страна/регион, имя и почтовый индекс.
Примечание.
Функция запуска пользовательского потока в настоящее время несовместима с типом URL-адреса ответа SPA при использовании потока кода авторизации. Чтобы использовать функцию «Запуск потока пользователя» с этими типами приложений, зарегистрируйте URL-адрес ответа типа «веб» и включите неявный поток.
Включите самостоятельный сброс пароля
Чтобы включить самостоятельный сброс пароля для процесса регистрации или авторизации:
- На странице "Потоки пользователей " выберите только что созданный поток регистрации или входа.
- В разделе "Параметры " в меню слева выберите пункт "Свойства".
- В разделе "Конфигурация пароля" выберите самостоятельный сброс пароля.
- Выберите Сохранить.
Тестирование потока пользователя
- На странице "Потоки пользователей " выберите только что созданный поток пользователя, чтобы открыть ее страницу обзора, а затем выберите "Запустить поток пользователя".
- Для приложения выберите веб-приложение, которое вы хотите протестировать, например одно с именем webapp1. В поле URL-адрес ответа должно содержаться значение
https://jwt.ms
. - Выберите Запустить пользовательский сценарий.
- На странице регистрации или входа выберите "Забыл пароль?".
- Проверьте адрес электронной почты созданной ранее учетной записи и нажмите кнопку "Продолжить".
- Теперь у вас есть возможность изменить пароль для пользователя. Измените пароль и нажмите кнопку "Продолжить". Токен передается обратно
https://jwt.ms
и должен отображаться в вашем браузере.
Создание потока пользователя для редактирования профиля
Если вы хотите разрешить пользователям изменять свой профиль в приложении, используйте поток редактирования профиля.
- В меню страницы обзора клиента Azure AD B2C выберите потоки пользователей и выберите новый поток пользователя.
- На странице "Создание потока пользователя " выберите поток редактирования профиля .
- В разделе "Выбор версии" выберите "Рекомендуется" и нажмите кнопку "Создать".
- Введите имя пользовательского потока. Например, profileediting1.
- Для поставщиков удостоверений в разделе "Локальные учетные записи" выберите "Электронная почта".
- Для атрибутов пользователя выберите атрибуты, которые требуется, чтобы клиент мог изменять свой профиль. Например, выберите "Показать больше", а затем выберите атрибуты и утверждения для отображаемого имени и должности. Нажмите ОК.
- Нажмите кнопку "Создать", чтобы добавить поток пользователя. Префикс B2C_1_ автоматически добавляется к имени.
Тестирование потока пользователя
- Выберите созданный поток пользователя, чтобы открыть его обзорную страницу.
- В верхней части страницы обзора потока пользователя выберите "Запустить поток пользователя". Панель откроется на правой стороне страницы.
- Для приложения выберите веб-приложение, которое вы хотите протестировать, например одно с именем webapp1. В поле URL-адрес ответа должно содержаться значение
https://jwt.ms
. - Выберите "Запустить поток пользователя", а затем войдите с помощью созданной ранее учетной записи.
- Теперь у вас есть возможность изменить отображаемое имя и название задания для пользователя. Выберите Продолжить. Токен возвращается
https://jwt.ms
и также должен отображаться в браузере.
Подсказка
В этой статье объясняется, как настроить клиент вручную. Вы можете автоматизировать весь процесс из этой статьи. Автоматизация развернет начальный пакет Azure AD B2C SocialAndLocalAccountsWithMFA, который обеспечит процессы регистрации и входа, сброса пароля и изменения профиля. Чтобы автоматизировать пошаговое руководство ниже, посетите приложение установки IEF и следуйте инструкциям.
Добавление ключей подписи и шифрования для приложений Identity Experience Framework
- Войдите на портал Azure.
- Если у вас есть доступ к нескольким клиентам, щелкните значок Настройки в верхнем меню, чтобы переключиться на клиент Azure AD B2C из меню Каталоги и подписки.
- В портале Azure найдите и выберите Azure AD B2C.
- На странице обзора в разделе Политикивыберите Identity Experience Framework.
Создание ключа подписывания
- Выберите ключи политики и нажмите кнопку "Добавить".
- В разделе "Параметры" выберите
Generate
. - В поле "Имя" введите
TokenSigningKeyContainer
. ПрефиксB2C_1A_
может быть добавлен автоматически. - Для типа ключа выберите RSA.
- Для назначения ключа выберите Подпись.
- Выберите Создать.
Создание ключа шифрования
- Выберите ключи политики и нажмите кнопку "Добавить".
- В разделе "Параметры" выберите
Generate
. - В поле "Имя" введите
TokenEncryptionKeyContainer
. ПрефиксB2C_1A
_ может быть добавлен автоматически. - Для типа ключа выберите RSA.
- Для использования ключа выберите "Шифрование".
- Выберите Создать.
Регистрация приложений Identity Experience Framework
Azure AD B2C требует регистрации двух приложений, которые используются для регистрации и входа пользователей с локальными учетными записями: IdentityExperienceFramework, веб-API и ProxyIdentityExperienceFramework, собственного приложения с делегированным разрешением для приложения IdentityExperienceFramework. Пользователи могут зарегистрироваться с помощью адреса электронной почты или имени пользователя и пароля для доступа к приложениям, зарегистрированным в клиенте, что создает "локальную учетную запись". Локальные учетные записи существуют только в клиенте Azure AD B2C.
Эти два приложения необходимо зарегистрировать в клиенте Azure AD B2C только один раз.
Регистрация приложения IdentityExperienceFramework
Чтобы зарегистрировать приложение в клиенте Azure AD B2C, можно использовать интерфейс регистрации приложений .
- Выберите регистрации приложений, а затем выберите Новая регистрация.
- Для параметра Имя введите
IdentityExperienceFramework
. - В разделе Поддерживаемые типы учетных записей выберите Учетные записи только в этом каталоге организации.
- В разделе URI перенаправления выберите веб-сайт и введите
https://your-tenant-name.b2clogin.com/your-tenant-name.onmicrosoft.com
your-tenant-name
имя домена клиента Azure AD B2C. - В разделе Разрешенияустановите флажок Предоставить согласие администратора на разрешения openid и offline_access.
- Выберите Зарегистрировать.
- Запишите идентификатор приложения (клиента) для использования на следующем шаге.
Затем предоставьте API, добавив область видимости:
- В меню слева в разделе Управление выберите Предоставление API.
- Выберите "Добавить область", а затем нажмите кнопку "Сохранить" и продолжайте принимать URI идентификатора приложения по умолчанию.
- Введите следующие значения, чтобы создать область, которая позволяет выполнять настраиваемую политику в клиенте Azure AD B2C:
-
Имя области:
user_impersonation
-
Отображаемое имя согласия администратора:
Access IdentityExperienceFramework
-
Описание согласия администратора:
Allow the application to access IdentityExperienceFramework on behalf of the signed-in user.
-
Имя области:
- Выберите "Добавить область"
Регистрация приложения ProxyIdentityExperienceFramework
- Выберите регистрации приложений, а затем выберите Новая регистрация.
- Для параметра Имя введите
ProxyIdentityExperienceFramework
. - В разделе Поддерживаемые типы учетных записей выберите Учетные записи только в этом каталоге организации.
- В разделе URI перенаправления используйте раскрывающийся список, чтобы выбрать общедоступный клиент или собственный (мобильный и настольный компьютер).
- В поле URI перенаправления введите
myapp://auth
. - В разделе Разрешенияустановите флажок Предоставить согласие администратора на разрешения openid и offline_access.
- Выберите Зарегистрировать.
- Запишите идентификатор приложения (клиента) для использования на следующем шаге.
Затем укажите, что приложение должно рассматриваться как общедоступный клиент:
- В меню слева в разделе Управлениевыберите Проверка подлинности.
- В разделе "Дополнительные параметры" в разделе "Разрешить общедоступные потоки клиентов" установите для параметра "Включить следующие мобильные и классические потоки" значение "Да".
- Выберите Сохранить.
- Убедитесь, что isFallbackPublicClient: true задано в манифесте приложения:
- В меню слева в разделе "Управление" выберите "Манифест" , чтобы открыть манифест приложения.
- Переключитесь с вкладки Манифеста приложения Microsoft Graph (New) на вкладку Манифест приложения AAD Graph (скоро устареет).
- Найдите ключ isFallbackPublicClient и убедитесь, что его значение установлено на true.
Теперь предоставьте разрешения для области API, которой вы поделились ранее в регистрации IdentityExperienceFramework.
- В меню слева в разделе "Управление" выберите разрешения API.
- В разделе Настроенные разрешения выберите Добавить разрешение.
- Выберите API, которые моя организация использует вкладку, а затем выберите приложение IdentityExperienceFramework .
- В разделе "Разрешение" выберите область user_impersonation , определенную ранее.
- Выберите Добавить разрешения. В соответствии с инструкциями подождите несколько минут, прежде чем перейти к следующему шагу.
- Выберите "Предоставить согласие администратора" для <имени> клиента.
- Выберите Да.
- Выберите «Обновить», а затем убедитесь, что "Предоставлено для ..." отображается в разделе «Состояние».
Начальный пакет настраиваемой политики
Пользовательские политики — это набор XML-файлов, которые вы отправляете в клиент Azure AD B2C для определения технических профилей и пути взаимодействия пользователей. Мы предоставляем начальные пакеты с несколькими предварительно созданными правилами, чтобы быстро начать работу. Каждый из этих начальных пакетов содержит наименьшее количество технических профилей и пути пользователей, необходимых для достижения описанных сценариев. Более подробное руководство по пользовательским политикам Azure AD B2C см. в руководстве по нашим пользовательским политикам.
- LocalAccounts — включает только использование локальных учетных записей.
- SocialAccounts — позволяет использовать только социальные (или федеративные) учетные записи.
- SocialAndLocalAccounts — позволяет использовать как локальные, так и социальные учетные записи.
- SocialAndLocalAccountsWithMFA — включает возможности социальной, локальной и многофакторной аутентификации.
Каждый начальный пакет содержит следующее:
- Базовый файл — для базы требуется несколько изменений. Пример: TrustFrameworkBase.xml
- Файл локализации — это файл, в котором вносятся изменения локализации. Пример: TrustFrameworkLocalization.xml
- Файл расширения — этот файл находится в том месте, где вносятся большинство изменений конфигурации. Пример: TrustFrameworkExtensions.xml
- Файлы проверяющей стороны — файлы, связанные с задачами, вызываемые приложением. Примеры: SignUpOrSignin.xml, ProfileEdit.xml, PasswordReset.xml
В этой статье вы редактируете XML-файлы пользовательской политики в начальном пакете SocialAndLocalAccounts . Если вам нужен редактор XML, попробуйте использовать Visual Studio Code, упрощенный кроссплатформенный редактор.
Получение начального пакета
Получите начальные пакеты настраиваемой политики из GitHub, а затем обновите XML-файлы в начальном пакете SocialAndLocalAccounts с именем клиента Azure AD B2C.
Скачайте файл .zip или клонируйте репозиторий:
git clone https://github.com/Azure-Samples/active-directory-b2c-custom-policy-starterpack
Во всех файлах в каталоге SocialAndLocalAccounts замените строку
yourtenant
именем клиента Azure AD B2C.Например, если имя клиента B2C является contosotenant, все экземпляры
yourtenant.onmicrosoft.com
становятсяcontosotenant.onmicrosoft.com
.
Добавление идентификаторов приложений в настраиваемую политику
Добавьте идентификаторы приложений в файл расширений TrustFrameworkExtensions.xml.
- Откройте
SocialAndLocalAccounts/
TrustFrameworkExtensions.xml
и найдите элемент<TechnicalProfile Id="login-NonInteractive">
. - Замените оба экземпляра
IdentityExperienceFrameworkAppId
идентификатором приложения приложения IdentityExperienceFramework, созданного ранее. - Замените оба экземпляра
ProxyIdentityExperienceFrameworkAppId
идентификатором приложения ProxyIdentityExperienceFramework, созданного ранее. - Сохраните файл.
Добавить Facebook в качестве поставщика удостоверений
Начальный пакет SocialAndLocalAccounts включает в себя социальный вход в Facebook. Facebook не требуется для использования пользовательских политик, но мы используем его здесь, чтобы продемонстрировать, как включить федеративный социальный вход в настраиваемую политику. Если вам не нужно включать федеративный вход через социальные сети, используйте начальный пакет LocalAccounts и переходите к разделу «Отправка политик».
Создание приложения Facebook
Следуйте действиям, описанным в #B0Создание приложения Facebook#C1, для получения #B2идентификатора приложения#B4 и #A5секрета приложения#B4. Пропустите "предварительные требования" и остальные шаги в статье Настройка регистрации и входа в систему с помощью учетной записи Facebook.
Создание ключа Facebook
Добавьте секрет приложения Facebook в качестве ключа политики. Вы можете использовать секрет приложения, созданного в соответствии с требованиями этой статьи.
- Войдите на портал Azure.
- Если у вас есть доступ к нескольким клиентам, щелкните значок Настройки в верхнем меню, чтобы переключиться на клиент Azure AD B2C из меню Каталоги и подписки.
- В портале Azure найдите и выберите Azure AD B2C.
- На странице обзора в разделе Политикивыберите Identity Experience Framework.
- Выберите ключи политики и нажмите кнопку "Добавить".
- В разделе "Параметры" выберите
Manual
. - Для параметра Имя введите
FacebookSecret
. ПрефиксB2C_1A_
может быть добавлен автоматически. - В поле Secret введите ваш App Secret для приложения Facebook с сайта developers.facebook.com. Это значение является секретом, а не идентификатором приложения.
- Для Назначение ключа выберите Подпись.
- Выберите Создать.
Обновление TrustFrameworkExtensions.xml в стартовом пакете пользовательской политики
В файле SocialAndLocalAccounts/
TrustFrameworkExtensions.xml
замените значение client_id
на идентификатор приложения Facebook и сохраните изменения.
<TechnicalProfile Id="Facebook-OAUTH">
<Metadata>
<!--Replace the value of client_id in this technical profile with the Facebook app ID"-->
<Item Key="client_id">00000000000000</Item>
Загрузите политики
- Выберите пункт меню Identity Experience Framework в клиенте B2C на портале Azure.
- Выберите " Отправить настраиваемую политику".
- В этом порядке отправьте файлы политики:
- TrustFrameworkBase.xml
- TrustFrameworkLocalization.xml
- TrustFrameworkExtensions.xml
- SignUpOrSignin.xml
- ProfileEdit.xml
- PasswordReset.xml
По мере отправки файлов Azure добавляет префикс B2C_1A_
к каждому.
Подсказка
Если редактор XML поддерживает проверку, проверьте файлы в TrustFrameworkPolicy_0.3.0.0.xsd
схеме XML, расположенной в корневом каталоге начального пакета. Проверка схемы XML определяет ошибки перед отправкой.
Проверка настраиваемой политики
- В разделе "Пользовательские политики" выберите B2C_1A_signup_signin.
- Для выбора приложения на странице обзора настраиваемой политики выберите веб-приложение, которое вы хотите протестировать, например одно с именем webapp1.
- Убедитесь, что URL-адрес ответа имеет значение
https://jwt.ms
. - Выберите Запустить немедленно.
- Зарегистрируйтесь с помощью адреса электронной почты.
- Снова нажмите кнопку "Запустить ".
- Войдите с той же учетной записью, чтобы убедиться, что у вас есть правильная конфигурация.
- Нажмите кнопку "Выполнить сейчас снова" и выберите Facebook, чтобы войти в Facebook и протестировать пользовательскую политику.
Дальнейшие действия
В этой статье вы узнали, как:
- Создание потока регистрации и входа в систему
- Создание потока пользователя для редактирования профиля
- Создайте поток для пользователя для сброса пароля
Затем узнайте, как использовать Azure AD B2C для входа и регистрации пользователей в приложении. Следуйте приведенным ниже примерам приложений:
- Настройка примера веб-приложения ASP.NET Core
- Настройка примера веб-приложения ASP.NET Core, которое вызывает веб-API
- Настройка проверки подлинности в примере веб-приложения Python
- Настройка примера одностраничного приложения (SPA)
- Настройка примера одностраничного приложения Angular
- Настройка примера мобильного приложения Android
- Настройка примера мобильного приложения iOS
- Настройка проверки подлинности в примере классического приложения WPF
- Включение проверки подлинности в веб-API
- Настройка приложения SAML
Вы также можете узнать больше в серии углубленного изучения архитектуры Azure AD B2C.