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


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

В этом руководстве описано, как интегрировать проверку подлинности 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_KEY и ARKOSE_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, ответ пользователя проверяется и создается маркер. Обратный вызов arkoseCallback в пользовательском сценарии JavaScript задает значение extension_ArkoseSessionToken созданного токена. Это значение отправляется в конечную точку API.

    Примечание

    Перейдите к developer.arkoselabs.com для получения инструкций на стороне клиента. Выполните действия, чтобы использовать пользовательский 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 создает файлы для локальной разработки, устанавливает зависимости и при необходимости инструменты Function Core.
  5. На панели терминала Visual Studio Code отображаются выходные данные средства Function Core.
  6. При запуске узла нажмите клавиши ALT+ щелкните локальный URL-адрес в выходных данных.
  7. Откроется браузер и запустится функция .
  8. В обозревателе Функции Azure щелкните правой кнопкой мыши функцию, чтобы просмотреть URL-адрес локально размещенной функции.

Добавьте Переменные среды

Пример в этом разделе защищает конечную точку веб-API при использовании обычной проверки подлинности HTTP. Дополнительные сведения см. на странице Internet Engineering Task Force 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.
  • < > 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.
  • Имя пользователя — определенное имя пользователя.
  • Пароль — пароль, который вы определили.
  1. В параметрах соединителя API для потока пользователя выберите соединитель API, который необходимо вызвать в разделе Перед созданием пользователя.

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

    Снимок экрана: запись перед созданием пользователя в разделе Соединители API.

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

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

Ресурсы