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


Руководство по настройке Azure Active Directory B2C с помощью платформы Arkose Labs

Это важно

Начиная с 1 мая 2025 г. Azure AD B2C больше не будет доступен для приобретения для новых клиентов. Дополнительные сведения см. в разделе "Вопросы и ответы".

В этом руководстве описано, как интегрировать проверку подлинности Azure Active Directory B2C (Azure AD B2C) с платформой Arkose Labs Arkose Protect Platform. Продукты Arkose Labs помогают организациям бороться с атаками ботов, захватом учетных записей и мошенническими открытиями учетных записей.

Предпосылки

Чтобы приступить к работе, потребуется следующее.

Описание сценария

Интеграция продуктов Arkose Labs включает следующие компоненты:

  • Arkose Protect Platform — служба для защиты от ботов и других автоматизированных злоупотреблений
  • Поток регистрации Azure AD B2C — интерфейс регистрации, использующий платформу Arkose Labs
    • Специальные коннекторы HTML, JavaScript и API интегрируются с платформой Arkose.
  • Функции Azure — размещенная конечная точка API, которая работает с функцией API-разъемов
    • Этот API проверяет токен сеанса Arkose Labs на стороне сервера.
    • Дополнительные сведения см. в обзоре функций Azure

На следующей схеме показано, как платформа Arkose Labs интегрируется с Azure AD B2C.

Схема платформы Arkose Labs и архитектуры интеграции Azure AD B2C.

  1. Пользователь регистрирует и создает учетную запись. Пользователь выбирает "Отправить", и появится задача проверки безопасности Arkose Labs.
  2. Пользователь завершает задачу. Azure AD B2C отправляет состояние в Arkose Labs для генерации токена.
  3. Arkose Labs отправляет маркер в Azure AD B2C.
  4. Azure AD B2C вызывает промежуточный веб-API для передачи формы регистрации.
  5. Форма регистрации передается в Arkose Labs для проверки токена.
  6. Arkose Labs отправляет результаты проверки в API посредника.
  7. API отправляет результат успешного выполнения или сбоя в Azure AD B2C.
  8. Если задание выполнено успешно, форма регистрации отправляется в Azure AD B2C, которая осуществляет аутентификацию.

Запросите демонстрацию у Arkose Labs

  1. Перейдите к arkoselabs.com, чтобы забронировать демонстрацию.
  2. Создайте учетную запись.
  3. Перейдите на страницу входа на портал Arkose .
  4. На панели мониторинга перейдите к параметрам сайта.
  5. Найдите открытый ключ и закрытый ключ. Вы воспользуетесь этой информацией позже.

Примечание.

Значения открытого и закрытого ключа:ARKOSE_PUBLIC_KEYARKOSE_PRIVATE_KEY См. статью Azure-Samples/active-directory-b2c-node-sign-up-user-flow-arkose.

Интеграция с Azure AD B2C

Создание пользовательского атрибута ArkoseSessionToken

Чтобы создать пользовательский атрибут, выполните приведенные действия.

  1. Войдите на портал Azure, а затем перейдите к Azure AD B2C.
  2. Выберите Атрибуты пользователя.
  3. Выберите Добавить.
  4. Введите ArkoseSessionToken в качестве имени атрибута.
  5. Выберите Создать.

Дополнительные сведения. Определение настраиваемых атрибутов в Azure Active Directory B2C

Создание потока пользователей

Поток пользователя предназначен для регистрации и входа, или только для регистрации. Поток пользователя Arkose Labs отображается во время регистрации.

  1. Создание потоков пользователей и настраиваемых политик в Azure Active Directory B2C. При использовании потока пользователя используйте рекомендуемый вариант.

  2. В параметрах потока пользователя перейдите к атрибутам пользователя.

  3. Выберите утверждение ArkoseSessionToken.

    Снимок экрана: маркер сеанса Arkose в атрибутах пользователя.

Настраивайте пользовательский HTML, JavaScript и макет страницы

  1. Перейдите в Azure-Samples/active-directory-b2c-node-sign-up-user-flow-arkose.
  2. Найдите html-шаблон с тегами JavaScript <script> . Они делают три вещи:
  • Загрузите скрипт Arkose Labs, который отображает виджет и выполняет проверку Arkose Labs на стороне клиента.

  • Скрыть входной extension_ArkoseSessionToken элемент и метку, соответствующие пользовательскому атрибуту ArkoseSessionToken .

  • Когда пользователь завершает задачу Arkose Labs, его ответ проверяется и генерируется токен. В пользовательском JavaScript обратный вызов arkoseCallback задает значение extension_ArkoseSessionToken токена, генерируя его значение. Это значение отправляется в конечную точку API.

    Примечание.

    Перейдите к developer.arkoselabs.com дляClient-Side инструкций. Следуйте инструкциям, чтобы использовать настраиваемый HTML-код и JavaScript в пользовательском процессе.

  1. В Azure-Samples измените selfAsserted.html файл, чтобы <ARKOSE_PUBLIC_KEY> соответствовать значению, созданному для проверки на стороне клиента.

  2. Разместите HTML-страницу на веб-конечной точке с поддержкой совместного использования ресурсов (CORS).

  3. Создание учетной записи хранения.

  4. Поддержка CORS для службы хранилища Azure.

    Примечание.

    Если у вас есть пользовательский HTML-код, скопируйте и вставьте <script> элементы на HTML-страницу.

  5. На портале Azure перейдите к Azure AD B2C.

  6. Перейдите к потокам пользователей.

  7. Выберите поток пользователя.

  8. Выберите макеты страниц.

  9. Выберите макет страницы регистрации локальной учетной записи.

  10. Для использования пользовательского содержимого страницы выберите "ДА".

  11. В поле "Использование пользовательского содержимого страницы" вставьте URI пользовательского HTML-кода.

  12. (Необязательно) При использовании поставщиков социальных удостоверений повторите действия на странице регистрации учетной записи социальной.

    Снимок экрана: варианты имени макета и варианты страницы регистрации социальной сети в разделе

  13. В потоке пользователя перейдите в раздел "Свойства".

  14. Выберите "Включить JavaScript".

Узнать больше: Включение JavaScript и версий макета страниц в Azure Active Directory B2C

Создание и развертывание API

В этом разделе предполагается, что для развертывания функций Azure используется Visual Studio Code. Для развертывания можно использовать портал Azure, терминал или командную строку.

Перейдите в Visual Studio Marketplace, чтобы установить Функции Azure для Visual Studio Code.

Локальное выполнение API

  1. В Visual Studio Code в области навигации слева перейдите к расширению Azure.
  2. Выберите папку "Локальный проект " для локальной функции Azure.
  3. Нажмите клавишу F5 или выберите ">Начать отладку". Эта команда использует созданную функцию отладки Azure.
  4. Функция Azure создает файлы для локальной разработки, устанавливает зависимости и средства ядра функций при необходимости.
  5. На панели терминала Visual Studio Code отображаются выходные данные из средства "Ядро функций".
  6. При запуске хоста нажмите Alt+щелчок на локальный URL-адрес в выходных данных.
  7. Откроется браузер и запускается функция.
  8. В обозревателе функций Azure щелкните правой кнопкой мыши функцию, чтобы просмотреть URL-адрес локально размещенной функции.

Добавление переменных среды

Пример в этом разделе защищает конечную точку веб-API при использовании проверки подлинности HTTP Basic. Дополнительные сведения см. на странице "Группа задач по разработке Интернета " RFC 7617: базовая проверка подлинности.

Имя пользователя и пароль хранятся в виде переменных среды, а не в составе репозитория. Дополнительные сведения о коде и тестировании функций Azure локально, локальном файле параметров.

  1. В корневой папке создайте файл local.settings.json.
  2. Скопируйте и вставьте следующий код в файл:
{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "",
    "FUNCTIONS_WORKER_RUNTIME": "node",
    "BASIC_AUTH_USERNAME": "<USERNAME>",
    "BASIC_AUTH_PASSWORD": "<PASSWORD>",
    "ARKOSE_PRIVATE_KEY": "<ARKOSE_PRIVATE_KEY>",
    "B2C_EXTENSIONS_APP_ID": "<B2C_EXTENSIONS_APP_ID>"
  }
}
  1. BASIC_AUTH_USERNAME и BASIC_AUTH_PASSWORD — это учетные данные для проверки подлинности вызова API в функции Azure. Выберите значения.
  • < > ARKOSE_PRIVATE_KEY — это секрет на стороне сервера, созданный на платформе Arkose Labs.
    • Он вызывает API проверки на стороне сервера Arkose Labs, чтобы проверить значение ArkoseSessionToken, созданное фронтендом.
    • См. Server-Side инструкции.
  • < > B2C_EXTENSIONS_APP_ID — это идентификатор приложения, используемый Azure AD B2C для хранения пользовательских атрибутов в каталоге.
  1. Перейдите к регистрации приложений.

  2. Найдите b2c-extensions-app.

  3. В области обзора скопируйте идентификатор приложения (клиента).

  4. Удалите символы -.

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

Развертывание приложения в Интернете

  1. Разверните функцию Azure в облаке. Дополнительные сведения см. в документации по функциям Azure.

  2. Скопируйте URL-адрес конечной точки функции Azure.

  3. После развертывания выберите параметр "Отправить параметры ".

  4. Переменные среды передаются в параметры приложения службы приложений. Дополнительные сведения о параметрах приложения в Azure.

    Примечание.

    Вы можете управлять приложением-функцией. Дополнительные сведения о разработке Visual Studio Code для функций Azure см. в статье "Развертывание файлов проекта ".

Настройка и включение соединителя API

  1. Создайте соединитель API. См. Добавление API-соединителя в поток регистрации пользователей.

  2. Включите его для потока пользователя.

    Снимок экрана: отображаемое имя, URL-адрес конечной точки, имя пользователя и пароль для настройки и соединителя API.

  • URL конечной точки — URL функции, скопированный при развертывании Azure Function
  • Имя пользователя — определенное имя пользователя
  • Пароль — определенный пароль
  1. В параметрах соединителя API для пользовательского потока выберите соединитель API, который необходимо вызвать перед созданием пользователя.

  2. API проверяет ArkoseSessionToken значение.

    Снимок экрана: запись

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

  1. Откройте клиент Azure AD B2C.
  2. В разделе Политики выберите Потоки пользователей.
  3. Выберите созданный поток пользователя.
  4. Выберите Запустить пользовательский сценарий.
  5. Для приложения выберите зарегистрированное приложение (пример — JWT).
  6. Для URL-адреса ответа выберите URL-адрес перенаправления.
  7. Выберите Запустить пользовательский сценарий.
  8. Выполните процесс регистрации.
  9. Создайте учетную запись.
  10. Выйти из системы.
  11. Выполните процедуру входа.
  12. Выберите Продолжить.
  13. Появится головоломка Arkose Labs.

Ресурсы