You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 9 Current »

Информация

Для выполнения 2Fa аутентификации через API можно воспользоваться скриптом на PS по ссылке: ссылка

Описание работы скрипта

Информация

Скрипт выполняет аутентификацию через стандартное API сервера Indeed AM. В качестве провайдеров аутентификации поддерживаются провайдеры с OTP, Passcode, Windows Password.

Процесс аутентификации через API: 

  1. Необходимо вызвать метод: /api/v5/templateSession/openVerifySession
    1. В качестве примера в скрипте используется формат имени "PrincipalName".
  2. При успешном выполнении метода вернется идентификатор сессии - переменная "$SessionId" в скрипте. 
  3. Следующие шаги отличаются в зависимости от используемого провайдера аутентификации. 
    1. Если OTP известен и его не нужно отправлять, то аутентификация выполняется по следующему алгоритму(функция "SimpleLogon" в скрипте):
      1. Запрос на ввод OTP.
      2. Подготовка шаблона аутентификации, вызывается метод: /api/v5/templateSession/prepareTemplateData
        1. В качестве "Data" передается OTP строкой. Срока 12 в скрипте.
      3. Если подготовка прошла успешно, то создается шаблон, вызывается метод: /api/v5/templateSession/createTemplate
      4. Завершающий шаг - это аутентификация пользователя, метод: /api/v5/logon/authenticate
      5. При успешной аутентификации будет возращен токен в JSON формате. 
    2. Если OTP не известен, то первоначально нужно инициировать его отправку(функция "LogonByOtp" в скрипте). 
      1. Вызывается метод: /api/v5/templateSession/prepareTemplateData
        1. Первоначально в качестве "Data" передается Null. Первый вызов необходим для того, чтобы сервер сделал отправку OTP, например, отправку смс. 
        2. Также при первоначальном запросе параметр "EnoughData" будет false
      2. Запрос на ввод OTP.
      3. Подготовка шаблона аутентификации, вызывается метод: /api/v5/templateSession/prepareTemplateData
        1. В качестве "Data" уже передается OTP строкой. Срока 12 в скрипте.
        2. Запрос вернет объект, где "EnoughData" будет true
      4. Если подготовка прошла успешно, то создается шаблон, вызывается метод: /api/v5/templateSession/createTemplate
      5. Завершающий шаг - это аутентификация пользователя, метод: /api/v5/logon/authenticate
      6. При успешной аутентификации будет возращен токен в JSON формате.


Предварительные требования

  1. Работоспособный сервер Indeed AM. 
  2. Наличие лицензии "Authentication API".

Настройка

Для работы скрипта необходимо сконфигурировать файл Config.ps1, который находится в корне папки со скриптом. 

  1. $serverUrl — URL адрес сервера Indeed AM. Обязательный параметр.
  2. $logsOnFile — включение\отключение логирования в файл. Обязательный параметр. По умолчанию включено.
  3. $logsOnConsole — включение\отключение логирования в консоль. Обязательный параметр. По умолчанию отключено.  
  4. $apiVersion — версия API, используемая в скрипте. Обязательный параметр. Значение по умолчанию: v5

В основном файле "main.ps1" задайте:

  1. $ProviderGuid - GUID провайдера аутентификации, который будет использоваться в скрипте. 
  2. $UserName - Имя пользователя в формате UPN. 

Пример работы

Disable checkingPremium suggestions

  • No labels