Авторизация API

Для начала сеанса работы клиент API проходит процедуру аутентификации, в ходе которой программный клиент от имени пользователя получает авторизационный токен (token), однозначно идентифицирующий пользователя в системе Транскрипт.
Прим.: Для выполнения дальнейших действий, необходимы идентификатора клиента и предварительно зарегистрированный пользователь в системе Транскрипт.
Пользователь может авторизоваться в системе Транскрипт двумя способами:
  1. Авторизация по сертификату электронной подписи.
    Для авторизации по сертификату получите секретную строку и авторизационный токен.
    • Для получения секретной строки используйте метод GetRandomForLogin.

      GetRandomForLogin () - возвращает уникальную строку для подписи. На стороне интеграционного приложения строка подписывается сертификатом, зарегистрированным в Транскрипте.

      Пример:

      // получаем уникальную строку 
      var auth = new TranscryptApiAuthClient();
      var secret = auth.GetRandomForLogin();
      
      // подписываем сертификатом
      // Метод подписи вы должны будете реализовать самостоятельно
      byte[] signedRandom = Sign(secret, UserCertificateThumbprint);
    • Для получения авторизационного токена используйте метод LoginByCert.

      Синтаксис:

      LoginByCert (byte[] signedRandom, EnvironmentInfoForLogin)

      Параметры

      Табл. 1.
      Параметр Тип Значение
      signedRandom byte подписанная уникальная строка, полученная методом GetRandomForLogin
      EnvironmentInfoForLogin   информация о среде, в которой происходит авторизация см. подробнее

      Выходные данные:

      token - авторизационный токен

      Пример:

      ITranscryptApi _api = new WebTranscryptApi();
      var loginByCertResult =_api.LoginByCert(
        signedRandom, 
        new EnvironmentInfoForLogin {
          ProgramIdentity =  "идентификатор клиента API, полученный по запросу"
        });
      var token = loginByCertResult.Result;
  2. Авторизация по логину и паролю.

    Авторизация по паре логин и пароль подразумевает ограниченный доступ к функционалу системы. Недоступны действия, требующие использования сертификата.

    Для авторизации по логину/паролю получите авторизационный токен (token), используя метод LoginByPassword ().

    Синтаксис:

    LoginByPassword (string login, string password, EnvironmentInfoForLogin)

    Параметры

    Табл. 2.
    Параметр Тип Значение
    login string e-mail пользователя
    password string пароль
    EnvironmentInfoForLogin   информация о среде в которой происходит авторизация, см. подробнее

    Выходные данные:

    token - авторизационный токен

    Пример:

    ITranscryptApi _api = new WebTranscryptApi(); 
    var loginByPasswordResult = _api.LoginByPassword(login, password, 
      new EnvironmentInfoForLogin {
        ProgramIdentity =  "идентификатор клиента API, полученный по запросу"
      });
    if (loginByPasswordResult.IsSuccess)
    {
      //успешная авторизация
      var token = loginByPasswordResult.Result;
    }