Поделиться через


Руководство по созданию потоков пользователей и пользовательских политик в 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. Другие среды будут продолжать использовать устаревшую версию потока пользователей.

Предпосылки

Создайте поток пользователя для регистрации и входа в систему

Поток регистрации и входа в систему обрабатывает обе возможности с одной конфигурацией. Пользователи вашего приложения направляются в нужном направлении в зависимости от контекста. Чтобы создать процесс регистрации и входа пользователя в систему, выполните приведенные ниже действия.

  1. Войдите на портал Azure.

  2. Если у вас есть доступ к нескольким клиентам, щелкните значок Настройки в верхнем меню, чтобы переключиться на клиент Azure AD B2C из меню Каталоги и подписки.

  3. В портале Azure найдите и выберите Azure AD B2C.

  4. В разделе "Политики" выберите потоки пользователей и выберите "Создать поток пользователя".

    Снимок экрана: страница

  5. На странице Создание потока пользователя выберите поток пользователя Регистрация и вход.

    Снимок экрана: страница выбора потока пользователя на портале Azure с выделенным потоком регистрации и входа.

  6. В разделе "Выбор версии" выберите "Рекомендуется" и нажмите кнопку "Создать". (Дополнительные сведения о версиях потока пользователей.)

    Создание страницы потока пользователя на портале Azure с выделенными свойствами

  7. Введите имя для потока пользователя. Например, signupsignin1.

  8. Для поставщиков удостоверений выберите регистрацию по электронной почте.

  9. Для атрибутов пользователей и требований токена выберите те требования и атрибуты, которые вы хотите собирать и отправлять пользователю во время регистрации. Например, щелкните Показать еще, а затем выберите атрибуты и утверждения Страна или регион, Отображаемое имя и Почтовый индекс. Нажмите ОК.

    Снимок экрана: страница выбора атрибутов и утверждений на портале Azure с тремя утверждениями, выбранными и выделенными.

  10. Нажмите кнопку "Создать", чтобы добавить поток пользователя. Префикс B2C_1_ автоматически добавляется в указанное ранее имя. Например, B2C_1_signupsignin1.

Тестирование потока пользователя

  1. На странице "Потоки пользователей " выберите только что созданный поток пользователя, чтобы открыть страницу обзора.

  2. В верхней части страницы обзора потока пользователя выберите "Запустить поток пользователя". Область откроется справа от страницы.

  3. Для приложения выберите веб-приложение, которое вы хотите протестировать, например одно с именем webapp1. В поле URL-адрес ответа должно содержаться значение https://jwt.ms.

  4. Выберите "Запустить поток пользователя", а затем нажмите кнопку "Зарегистрироваться".

    Снимок экрана страницы

  5. Введите допустимый адрес электронной почты, выберите "Отправить код проверки", введите полученный код проверки, а затем нажмите кнопку "Проверить код".

  6. Введите новый пароль и подтвердите его.

  7. Выберите страну и регион, введите отображаемое имя, введите почтовый индекс и нажмите кнопку "Создать". Маркер возвращается к https://jwt.ms и должен отображаться для вас в вашем браузере.

  8. Теперь вы можете снова запустить поток пользователя, и вы сможете войти с помощью только что созданной учетной записи. Возвращенный маркер включает утверждения, которые вы выбрали: страна/регион, имя и почтовый индекс.

Примечание.

Функция запуска пользовательского потока в настоящее время несовместима с типом URL-адреса ответа SPA при использовании потока кода авторизации. Чтобы использовать функцию «Запуск потока пользователя» с этими типами приложений, зарегистрируйте URL-адрес ответа типа «веб» и включите неявный поток.

Включите самостоятельный сброс пароля

Чтобы включить самостоятельный сброс пароля для процесса регистрации или авторизации:

  1. На странице "Потоки пользователей " выберите только что созданный поток регистрации или входа.
  2. В разделе "Параметры " в меню слева выберите пункт "Свойства".
  3. В разделе "Конфигурация пароля" выберите самостоятельный сброс пароля.
  4. Выберите Сохранить.

Тестирование потока пользователя

  1. На странице "Потоки пользователей " выберите только что созданный поток пользователя, чтобы открыть ее страницу обзора, а затем выберите "Запустить поток пользователя".
  2. Для приложения выберите веб-приложение, которое вы хотите протестировать, например одно с именем webapp1. В поле URL-адрес ответа должно содержаться значение https://jwt.ms.
  3. Выберите Запустить пользовательский сценарий.
  4. На странице регистрации или входа выберите "Забыл пароль?".
  5. Проверьте адрес электронной почты созданной ранее учетной записи и нажмите кнопку "Продолжить".
  6. Теперь у вас есть возможность изменить пароль для пользователя. Измените пароль и нажмите кнопку "Продолжить". Токен передается обратно https://jwt.ms и должен отображаться в вашем браузере.

Создание потока пользователя для редактирования профиля

Если вы хотите разрешить пользователям изменять свой профиль в приложении, используйте поток редактирования профиля.

  1. В меню страницы обзора клиента Azure AD B2C выберите потоки пользователей и выберите новый поток пользователя.
  2. На странице "Создание потока пользователя " выберите поток редактирования профиля .
  3. В разделе "Выбор версии" выберите "Рекомендуется" и нажмите кнопку "Создать".
  4. Введите имя пользовательского потока. Например, profileediting1.
  5. Для поставщиков удостоверений в разделе "Локальные учетные записи" выберите "Электронная почта".
  6. Для атрибутов пользователя выберите атрибуты, которые требуется, чтобы клиент мог изменять свой профиль. Например, выберите "Показать больше", а затем выберите атрибуты и утверждения для отображаемого имени и должности. Нажмите ОК.
  7. Нажмите кнопку "Создать", чтобы добавить поток пользователя. Префикс B2C_1_ автоматически добавляется к имени.

Тестирование потока пользователя

  1. Выберите созданный поток пользователя, чтобы открыть его обзорную страницу.
  2. В верхней части страницы обзора потока пользователя выберите "Запустить поток пользователя". Панель откроется на правой стороне страницы.
  3. Для приложения выберите веб-приложение, которое вы хотите протестировать, например одно с именем webapp1. В поле URL-адрес ответа должно содержаться значение https://jwt.ms.
  4. Выберите "Запустить поток пользователя", а затем войдите с помощью созданной ранее учетной записи.
  5. Теперь у вас есть возможность изменить отображаемое имя и название задания для пользователя. Выберите Продолжить. Токен возвращается https://jwt.ms и также должен отображаться в браузере.

Подсказка

В этой статье объясняется, как настроить клиент вручную. Вы можете автоматизировать весь процесс из этой статьи. Автоматизация развернет начальный пакет Azure AD B2C SocialAndLocalAccountsWithMFA, который обеспечит процессы регистрации и входа, сброса пароля и изменения профиля. Чтобы автоматизировать пошаговое руководство ниже, посетите приложение установки IEF и следуйте инструкциям.

Добавление ключей подписи и шифрования для приложений Identity Experience Framework

  1. Войдите на портал Azure.
  2. Если у вас есть доступ к нескольким клиентам, щелкните значок Настройки в верхнем меню, чтобы переключиться на клиент Azure AD B2C из меню Каталоги и подписки.
  3. В портале Azure найдите и выберите Azure AD B2C.
  4. На странице обзора в разделе Политикивыберите Identity Experience Framework.

Создание ключа подписывания

  1. Выберите ключи политики и нажмите кнопку "Добавить".
  2. В разделе "Параметры" выберите Generate.
  3. В поле "Имя" введите TokenSigningKeyContainer. Префикс B2C_1A_ может быть добавлен автоматически.
  4. Для типа ключа выберите RSA.
  5. Для назначения ключа выберите Подпись.
  6. Выберите Создать.

Создание ключа шифрования

  1. Выберите ключи политики и нажмите кнопку "Добавить".
  2. В разделе "Параметры" выберите Generate.
  3. В поле "Имя" введите TokenEncryptionKeyContainer. Префикс B2C_1A_ может быть добавлен автоматически.
  4. Для типа ключа выберите RSA.
  5. Для использования ключа выберите "Шифрование".
  6. Выберите Создать.

Регистрация приложений Identity Experience Framework

Azure AD B2C требует регистрации двух приложений, которые используются для регистрации и входа пользователей с локальными учетными записями: IdentityExperienceFramework, веб-API и ProxyIdentityExperienceFramework, собственного приложения с делегированным разрешением для приложения IdentityExperienceFramework. Пользователи могут зарегистрироваться с помощью адреса электронной почты или имени пользователя и пароля для доступа к приложениям, зарегистрированным в клиенте, что создает "локальную учетную запись". Локальные учетные записи существуют только в клиенте Azure AD B2C.

Эти два приложения необходимо зарегистрировать в клиенте Azure AD B2C только один раз.

Регистрация приложения IdentityExperienceFramework

Чтобы зарегистрировать приложение в клиенте Azure AD B2C, можно использовать интерфейс регистрации приложений .

  1. Выберите регистрации приложений, а затем выберите Новая регистрация.
  2. Для параметра Имя введите IdentityExperienceFramework.
  3. В разделе Поддерживаемые типы учетных записей выберите Учетные записи только в этом каталоге организации.
  4. В разделе URI перенаправления выберите веб-сайт и введите https://your-tenant-name.b2clogin.com/your-tenant-name.onmicrosoft.comyour-tenant-name имя домена клиента Azure AD B2C.
  5. В разделе Разрешенияустановите флажок Предоставить согласие администратора на разрешения openid и offline_access.
  6. Выберите Зарегистрировать.
  7. Запишите идентификатор приложения (клиента) для использования на следующем шаге.

Затем предоставьте API, добавив область видимости:

  1. В меню слева в разделе Управление выберите Предоставление API.
  2. Выберите "Добавить область", а затем нажмите кнопку "Сохранить" и продолжайте принимать URI идентификатора приложения по умолчанию.
  3. Введите следующие значения, чтобы создать область, которая позволяет выполнять настраиваемую политику в клиенте Azure AD B2C:
    • Имя области: user_impersonation
    • Отображаемое имя согласия администратора: Access IdentityExperienceFramework
    • Описание согласия администратора: Allow the application to access IdentityExperienceFramework on behalf of the signed-in user.
  4. Выберите "Добавить область"

Регистрация приложения ProxyIdentityExperienceFramework

  1. Выберите регистрации приложений, а затем выберите Новая регистрация.
  2. Для параметра Имя введите ProxyIdentityExperienceFramework.
  3. В разделе Поддерживаемые типы учетных записей выберите Учетные записи только в этом каталоге организации.
  4. В разделе URI перенаправления используйте раскрывающийся список, чтобы выбрать общедоступный клиент или собственный (мобильный и настольный компьютер).
  5. В поле URI перенаправления введите myapp://auth.
  6. В разделе Разрешенияустановите флажок Предоставить согласие администратора на разрешения openid и offline_access.
  7. Выберите Зарегистрировать.
  8. Запишите идентификатор приложения (клиента) для использования на следующем шаге.

Затем укажите, что приложение должно рассматриваться как общедоступный клиент:

  1. В меню слева в разделе Управлениевыберите Проверка подлинности.
  2. В разделе "Дополнительные параметры" в разделе "Разрешить общедоступные потоки клиентов" установите для параметра "Включить следующие мобильные и классические потоки" значение "Да".
  3. Выберите Сохранить.
  4. Убедитесь, что isFallbackPublicClient: true задано в манифесте приложения:
    1. В меню слева в разделе "Управление" выберите "Манифест" , чтобы открыть манифест приложения.
    2. Переключитесь с вкладки Манифеста приложения Microsoft Graph (New) на вкладку Манифест приложения AAD Graph (скоро устареет).
    3. Найдите ключ isFallbackPublicClient и убедитесь, что его значение установлено на true.

Теперь предоставьте разрешения для области API, которой вы поделились ранее в регистрации IdentityExperienceFramework.

  1. В меню слева в разделе "Управление" выберите разрешения API.
  2. В разделе Настроенные разрешения выберите Добавить разрешение.
  3. Выберите API, которые моя организация использует вкладку, а затем выберите приложение IdentityExperienceFramework .
  4. В разделе "Разрешение" выберите область user_impersonation , определенную ранее.
  5. Выберите Добавить разрешения. В соответствии с инструкциями подождите несколько минут, прежде чем перейти к следующему шагу.
  6. Выберите "Предоставить согласие администратора" для <имени> клиента.
  7. Выберите Да.
  8. Выберите «Обновить», а затем убедитесь, что "Предоставлено для ..." отображается в разделе «Состояние».

Начальный пакет настраиваемой политики

Пользовательские политики — это набор 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.

  1. Скачайте файл .zip или клонируйте репозиторий:

    git clone https://github.com/Azure-Samples/active-directory-b2c-custom-policy-starterpack
    
  2. Во всех файлах в каталоге SocialAndLocalAccounts замените строку yourtenant именем клиента Azure AD B2C.

    Например, если имя клиента B2C является contosotenant, все экземпляры yourtenant.onmicrosoft.com становятся contosotenant.onmicrosoft.com.

Добавление идентификаторов приложений в настраиваемую политику

Добавьте идентификаторы приложений в файл расширений TrustFrameworkExtensions.xml.

  1. Откройте SocialAndLocalAccounts/TrustFrameworkExtensions.xml и найдите элемент <TechnicalProfile Id="login-NonInteractive">.
  2. Замените оба экземпляра IdentityExperienceFrameworkAppId идентификатором приложения приложения IdentityExperienceFramework, созданного ранее.
  3. Замените оба экземпляра ProxyIdentityExperienceFrameworkAppId идентификатором приложения ProxyIdentityExperienceFramework, созданного ранее.
  4. Сохраните файл.

Добавить Facebook в качестве поставщика удостоверений

Начальный пакет SocialAndLocalAccounts включает в себя социальный вход в Facebook. Facebook не требуется для использования пользовательских политик, но мы используем его здесь, чтобы продемонстрировать, как включить федеративный социальный вход в настраиваемую политику. Если вам не нужно включать федеративный вход через социальные сети, используйте начальный пакет LocalAccounts и переходите к разделу «Отправка политик».

Создание приложения Facebook

Следуйте действиям, описанным в #B0Создание приложения Facebook#C1, для получения #B2идентификатора приложения#B4 и #A5секрета приложения#B4. Пропустите "предварительные требования" и остальные шаги в статье Настройка регистрации и входа в систему с помощью учетной записи Facebook.

Создание ключа Facebook

Добавьте секрет приложения Facebook в качестве ключа политики. Вы можете использовать секрет приложения, созданного в соответствии с требованиями этой статьи.

  1. Войдите на портал Azure.
  2. Если у вас есть доступ к нескольким клиентам, щелкните значок Настройки в верхнем меню, чтобы переключиться на клиент Azure AD B2C из меню Каталоги и подписки.
  3. В портале Azure найдите и выберите Azure AD B2C.
  4. На странице обзора в разделе Политикивыберите Identity Experience Framework.
  5. Выберите ключи политики и нажмите кнопку "Добавить".
  6. В разделе "Параметры" выберите Manual.
  7. Для параметра Имя введите FacebookSecret. Префикс B2C_1A_ может быть добавлен автоматически.
  8. В поле Secret введите ваш App Secret для приложения Facebook с сайта developers.facebook.com. Это значение является секретом, а не идентификатором приложения.
  9. Для Назначение ключа выберите Подпись.
  10. Выберите Создать.

Обновление 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>

Загрузите политики

  1. Выберите пункт меню Identity Experience Framework в клиенте B2C на портале Azure.
  2. Выберите " Отправить настраиваемую политику".
  3. В этом порядке отправьте файлы политики:
    1. TrustFrameworkBase.xml
    2. TrustFrameworkLocalization.xml
    3. TrustFrameworkExtensions.xml
    4. SignUpOrSignin.xml
    5. ProfileEdit.xml
    6. PasswordReset.xml

По мере отправки файлов Azure добавляет префикс B2C_1A_ к каждому.

Подсказка

Если редактор XML поддерживает проверку, проверьте файлы в TrustFrameworkPolicy_0.3.0.0.xsd схеме XML, расположенной в корневом каталоге начального пакета. Проверка схемы XML определяет ошибки перед отправкой.

Проверка настраиваемой политики

  1. В разделе "Пользовательские политики" выберите B2C_1A_signup_signin.
  2. Для выбора приложения на странице обзора настраиваемой политики выберите веб-приложение, которое вы хотите протестировать, например одно с именем webapp1.
  3. Убедитесь, что URL-адрес ответа имеет значение https://jwt.ms.
  4. Выберите Запустить немедленно.
  5. Зарегистрируйтесь с помощью адреса электронной почты.
  6. Снова нажмите кнопку "Запустить ".
  7. Войдите с той же учетной записью, чтобы убедиться, что у вас есть правильная конфигурация.
  8. Нажмите кнопку "Выполнить сейчас снова" и выберите Facebook, чтобы войти в Facebook и протестировать пользовательскую политику.

Дальнейшие действия

В этой статье вы узнали, как:

  • Создание потока регистрации и входа в систему
  • Создание потока пользователя для редактирования профиля
  • Создайте поток для пользователя для сброса пароля

Затем узнайте, как использовать Azure AD B2C для входа и регистрации пользователей в приложении. Следуйте приведенным ниже примерам приложений:

Вы также можете узнать больше в серии углубленного изучения архитектуры Azure AD B2C.