Руководство по настройке Azure Active Directory B2C с помощью платформы Arkose Labs
В этом руководстве описано, как интегрировать проверку подлинности Azure Active Directory B2C (Azure AD B2C) с Arkose Labs Arkose Protect Platform. Продукты Arkose Labs помогают организациям бороться с атаками ботов, поглощением учетных записей и мошенническим открытием учетных записей.
Предварительные требования
Чтобы приступить к работе, вам потребуется:
- Подписка Azure
- Если у вас ее нет, получите бесплатную учетную запись Azure.
- Клиент Azure AD B2C, связанный с вашей подпиской Azure
- Учетная запись Arkose Labs
- Перейдите к arkoselabs.com, чтобы запросить демонстрацию
Описание сценария
Интеграция продуктов 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 отправляет состояние в Arkose Labs для создания маркера.
- Arkose Labs отправляет маркер в Azure AD B2C.
- Azure AD B2C вызывает промежуточный веб-API для передачи формы регистрации.
- Форма регистрации отправляется в Arkose Labs для проверки маркера.
- Arkose Labs отправляет результаты проверки в промежуточный веб-API.
- API отправляет результат успешного или неудачного выполнения в Azure AD B2C.
- Если задача выполнена успешно, форма регистрации отправляется в Azure AD B2C, которая завершает проверку подлинности.
Запрос демонстрации в Arkose Labs
- Перейдите к arkoselabs.com, чтобы забронировать демонстрацию.
- Создайте учетную запись.
- Перейдите на страницу входа на порталЕ Arkose .
- На панели мониторинга перейдите к параметрам сайта.
- Найдите открытый и закрытый ключи. Эти сведения будут использоваться позже.
Примечание
Значения открытого и закрытого ключей: ARKOSE_PUBLIC_KEY
и ARKOSE_PRIVATE_KEY
.
См . раздел Azure-Samples/active-directory-b2c-node-sign-up-user-flow-arkose.
Интеграция с Azure AD B2C
Создание настраиваемого атрибута ArkoseSessionToken
Чтобы создать настраиваемый атрибут, выполните приведенные далее действия.
- Войдите в портал Azure, а затем перейдите к Azure AD B2C.
- Выберите Атрибуты пользователя.
- Выберите Добавить.
- Введите ArkoseSessionToken в качестве атрибута Имя.
- Нажмите кнопку создания.
Дополнительные сведения: Определение настраиваемых атрибутов в Azure Active Directory B2C
Создание потока пользователей
Поток пользователя предназначен для регистрации и входа или регистрации. Поток пользователя Arkose Labs отображается во время регистрации.
Создание пользовательских потоков и настраиваемых политик в Azure Active Directory B2C. Если используется поток пользователя, используйте рекомендуется.
В параметрах потока пользователя перейдите в раздел Атрибуты пользователя.
Выберите утверждение ArkoseSessionToken .
Настройка пользовательского html, JavaScript и макета страницы
- Перейдите в azure-Samples/active-directory-b2c-node-sign-up-user-flow-arkose.
- Найдите шаблон HTML с тегами JavaScript
<script>
. Они выполняют три действия.
Загрузите скрипт Arkose Labs, который отображает мини-приложение и выполняет проверку Arkose Labs на стороне клиента.
Скрытие входного
extension_ArkoseSessionToken
элемента и метки, соответствующих пользовательскому атрибутуArkoseSessionToken
.Когда пользователь завершает запрос Arkose Labs, ответ пользователя проверяется и создается маркер. Обратный вызов
arkoseCallback
в пользовательском сценарии JavaScript задает значениеextension_ArkoseSessionToken
созданного токена. Это значение отправляется в конечную точку API.Примечание
Перейдите к developer.arkoselabs.com для получения инструкций на стороне клиента. Выполните действия, чтобы использовать пользовательский HTML и JavaScript для пользовательского потока.
В Azure-Samples измените файлselfAsserted.html , чтобы
<ARKOSE_PUBLIC_KEY>
соответствовать значению, созданному для проверки на стороне клиента.Размещение HTML-страницы в веб-конечной точке общего доступа к ресурсам независимо от источника (CORS).
Поддержка CORS для службы хранилища Azure.
Примечание
Если у вас есть пользовательский HTML-код, скопируйте и вставьте
<script>
элементы на HTML-страницу.В портал Azure перейдите к Azure AD B2C.
Перейдите к разделу Потоки пользователей.
Выберите поток пользователя.
Выберите Макеты страниц.
Выберите Макет страницы регистрации локальной учетной записи.
В разделе Использовать пользовательское содержимое страницы выберите ДА.
В разделе Использование пользовательского содержимого страницы вставьте настраиваемый URI HTML.
(Необязательно) Если вы используете поставщики удостоверений социальных сетей, повторите действия на странице регистрации учетной записи социальных сетей.
В потоке пользователя перейдите в раздел Свойства.
Выберите Включить JavaScript.
Дополнительные сведения: Включение версий JavaScript и макетов страниц в Azure Active Directory B2C
Создание и развертывание API
В этом разделе предполагается, что для развертывания Функции Azure используется Visual Studio Code. Для развертывания можно использовать портал Azure, терминал или командную строку.
Перейдите в Visual Studio Marketplace, чтобы установить Функции Azure для Visual Studio Code.
Локальное тестирование API
- В Visual Studio Code в области навигации слева перейдите к расширению Azure.
- Выберите папку Локальный проект для локальной функции Azure.
- Нажмите клавишу F5 или выберите Отладка>Начать отладку. Эта команда использует созданную функцию Azure с конфигурацией отладки.
- Функция Azure создает файлы для локальной разработки, устанавливает зависимости и при необходимости инструменты Function Core.
- На панели терминала Visual Studio Code отображаются выходные данные средства Function Core.
- При запуске узла нажмите клавиши ALT+ щелкните локальный URL-адрес в выходных данных.
- Откроется браузер и запустится функция .
- В обозревателе Функции Azure щелкните правой кнопкой мыши функцию, чтобы просмотреть URL-адрес локально размещенной функции.
Добавьте Переменные среды
Пример в этом разделе защищает конечную точку веб-API при использовании обычной проверки подлинности HTTP. Дополнительные сведения см. на странице Internet Engineering Task Force RFC 7617: обычная проверка подлинности.
Имя пользователя и пароль хранятся в виде переменных среды, а не в составе репозитория. Дополнительные сведения см. в статье Код и тестирование Функции Azure локально, Локальный файл параметров.
- В корневой папке создайте файл local.settings.json.
- Скопируйте и вставьте следующий код в файл:
{
"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>"
}
}
- BASIC_AUTH_USERNAME и BASIC_AUTH_PASSWORD — это учетные данные для проверки подлинности вызова API к функции Azure. Выберите значения.
-
<
> ARKOSE_PRIVATE_KEY — это секрет на стороне сервера, созданный на платформе Arkose Labs.
- Он вызывает API проверки на стороне сервера Arkose Labs для проверки значения , созданного
ArkoseSessionToken
интерфейсом. - См. инструкции на стороне сервера.
- Он вызывает API проверки на стороне сервера Arkose Labs для проверки значения , созданного
- < > B2C_EXTENSIONS_APP_ID — это идентификатор приложения, используемый Azure AD B2C для хранения настраиваемых атрибутов в каталоге.
Перейдите к Регистрация приложений.
Выполните поиск по запросу b2c-extensions-app.
В области Обзор скопируйте идентификатор приложения (клиента).
Удалите
-
символы.
Развертывание приложения в Интернете
Разверните функцию Azure в облаке. Дополнительные сведения см. в документации по Функции Azure.
Скопируйте URL-адрес конечной точки функции Azure.
После развертывания выберите параметр Отправить параметры .
Переменные среды передаются в параметры приложения службы приложений. Дополнительные сведения см. в разделе Параметры приложения в Azure.
Примечание
Вы можете управлять приложением-функцией. Дополнительные сведения о разработке Visual Studio Code для Функции Azure см. в статье Развертывание файлов проекта.
Настройка и включение соединителя API
Создайте соединитель API. См. раздел Добавление соединителя API в поток пользователя регистрации.
Включите его для потока пользователя.
- URL-адрес конечной точки — URL-адрес функции, скопированный при развертывании функции Azure.
- Имя пользователя — определенное имя пользователя.
- Пароль — пароль, который вы определили.
В параметрах соединителя API для потока пользователя выберите соединитель API, который необходимо вызвать в разделе Перед созданием пользователя.
API проверяет
ArkoseSessionToken
значение.
Тестирование потока пользователя
- Откройте клиент Azure AD B2C.
- В разделе Политики выберите Потоки пользователей.
- Выберите созданный поток пользователя.
- Выберите Выполнить поток пользователя.
- В поле Приложение выберите зарегистрированное приложение (пример — JWT).
- В поле URL-адрес ответа выберите URL-адрес перенаправления.
- Выберите Выполнить поток пользователя.
- Выполните поток регистрации.
- Создайте учетную запись.
- Выполните выход.
- Выполните поток входа.
- Выберите Continue (Продолжить).
- Появляется головоломка Arkose Labs.
Ресурсы
-
Azure-Samples/active-directory-b2c-node-sign-up-user-flow-arkose
- Поиск потока пользователя регистрации Azure AD B2C
- Общие сведения о настраиваемой политике Azure AD B2C
- Учебник. Создание потоков пользователей и пользовательских политик в Azure Active Directory B2C