Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Это важно
Начиная с 1 мая 2025 г. Azure AD B2C больше не будет доступен для приобретения для новых клиентов. Дополнительные сведения см. в разделе "Вопросы и ответы".
В этом руководстве описано, как интегрировать проверку подлинности 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, его ответ проверяется и генерируется токен. В пользовательском JavaScript обратный вызов
arkoseCallback
задает значениеextension_ArkoseSessionToken
токена, генерируя его значение. Это значение отправляется в конечную точку API.Примечание.
Перейдите к developer.arkoselabs.com дляClient-Side инструкций. Следуйте инструкциям, чтобы использовать настраиваемый 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 создает файлы для локальной разработки, устанавливает зависимости и средства ядра функций при необходимости.
- На панели терминала Visual Studio Code отображаются выходные данные из средства "Ядро функций".
- При запуске хоста нажмите Alt+щелчок на локальный URL-адрес в выходных данных.
- Откроется браузер и запускается функция.
- В обозревателе функций Azure щелкните правой кнопкой мыши функцию, чтобы просмотреть URL-адрес локально размещенной функции.
Добавление переменных среды
Пример в этом разделе защищает конечную точку веб-API при использовании проверки подлинности HTTP Basic. Дополнительные сведения см. на странице "Группа задач по разработке Интернета " 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
, созданное фронтендом. - См. Server-Side инструкции.
- Он вызывает 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 Function
- Имя пользователя — определенное имя пользователя
- Пароль — определенный пароль
В параметрах соединителя API для пользовательского потока выберите соединитель API, который необходимо вызвать перед созданием пользователя.
API проверяет
ArkoseSessionToken
значение.
Тестирование потока пользователя
- Откройте клиент Azure AD B2C.
- В разделе Политики выберите Потоки пользователей.
- Выберите созданный поток пользователя.
- Выберите Запустить пользовательский сценарий.
- Для приложения выберите зарегистрированное приложение (пример — JWT).
- Для URL-адреса ответа выберите URL-адрес перенаправления.
- Выберите Запустить пользовательский сценарий.
- Выполните процесс регистрации.
- Создайте учетную запись.
- Выйти из системы.
- Выполните процедуру входа.
- Выберите Продолжить.
- Появится головоломка Arkose Labs.
Ресурсы
-
Azure-Samples/active-directory-b2c-node-sign-up-user-flow-arkose
- Найдите поток регистрации пользователя Azure AD B2C
- Обзор настраиваемой политики Azure AD B2C
- Руководство по созданию потоков пользователей и пользовательских политик в Azure Active Directory B2C