Versions Compared
compared with
Key
- This line was added.
- This line was removed.
- Formatting was changed.
Info | ||
---|---|---|
| ||
Для выполнения 2Fa аутентификации через API можно воспользоваться скриптом на PS по ссылке: ссылка |
Описание работы скрипта
Info | ||
---|---|---|
| ||
Скрипт выполняет аутентификацию через стандартное API сервера Indeed AM. В качестве провайдеров аутентификации поддерживаются провайдеры с OTP, Passcode, Windows Password. |
Процесс аутентификации через API:
- Необходимо вызвать метод: /api/v5/templateSession/openVerifySession
- В качестве примера в скрипте используется формат имени "PrincipalName".
- При успешном выполнении метода вернется идентификатор сессии - переменная "$SessionId" в скрипте.
- Следующие шаги отличаются в зависимости от используемого провайдера аутентификации.
- Если OTP известен и его не нужно отправлять, то аутентификация выполняется по следующему алгоритму(функция "SimpleLogon" в скрипте):
- Запрос на ввод OTP.
- Подготовка шаблона аутентификации, вызывается метод: /api/v5/templateSession/prepareTemplateData
- В качестве "Data" передается OTP строкой. Срока 12 в скрипте.
- Если подготовка прошла успешно, то создается шаблон, вызывается метод: /api/v5/templateSession/createTemplate
- Завершающий шаг - это аутентификация пользователя, метод: /api/v5/logon/authenticate
- При успешной аутентификации будет возращен токен в JSON формате.
- Если OTP не известен, то первоначально нужно инициировать его отправку(функция "LogonByOtp" в скрипте).
- Вызывается метод: /api/v5/templateSession/prepareTemplateData
- Первоначально в качестве "Data" передается Null. Первый вызов необходим для того, чтобы сервер сделал отправку OTP, например, отправку смс.
- Также при первоначальном запросе параметр "EnoughData" будет false.
- Запрос на ввод OTP.
- Подготовка шаблона аутентификации, вызывается метод: /api/v5/templateSession/prepareTemplateData
- В качестве "Data" уже передается OTP строкой. Срока 12 в скрипте.
- Запрос вернет объект, где "EnoughData" будет true.
- Если подготовка прошла успешно, то создается шаблон, вызывается метод: /api/v5/templateSession/createTemplate
- Завершающий шаг - это аутентификация пользователя, метод: /api/v5/logon/authenticate
- При успешной аутентификации будет возращен токен в JSON формате.
- Вызывается метод: /api/v5/templateSession/prepareTemplateData
- Если OTP известен и его не нужно отправлять, то аутентификация выполняется по следующему алгоритму(функция "SimpleLogon" в скрипте):
Предварительные требования
- Работоспособный сервер Indeed AM.
- Наличие лицензии "Authentication API".
Настройка
Для работы скрипта необходимо сконфигурировать
файлфайл Config.ps1, который находится в корне папки со скриптом.
- $serverUrl — URL адрес сервера Indeed AM. Обязательный параметр.
- $logsOnFile — включение\отключение логирования в файл. Обязательный параметр. По умолчанию включено.
- $logsOnConsole — включение\отключение логирования в консоль. Обязательный параметр. По умолчанию отключено.
- $apiVersion — версия API, используемая в скрипте. Обязательный параметр. Значение по умолчанию: v5
В основном файле "main.ps1" задайте:
- $ProviderGuid - GUID провайдера аутентификации, который будет использоваться в скрипте.
- В качестве примера в скрипте используется провайдер: Indeed AM SMS OTP Provider — {EBB6F3FA-A400-45F4-853A-D517D89AC2A3}
- $UserName - Имя пользователя в формате UPN.
Пример работы
Table of Contents | ||
---|---|---|
|
...