Справка по аутентификации пользователей через ТГУ.Аккаунты

ТГУ.Аккаунты - это сервис, позволяющий проводить централизованную аутентификацию пользователей через протокол OAuth.

Для того, чтобы сделать аутентификацию через ТГУ.Аккаунты, в первую очередь необходимо зарегистрировать свой сервис. Для этого напишите заявку на адрес support@accounts.tsu.ru

Общая схема аутентификации изображена на следующей диаграмме:

OAuth

Вам достаточно реализовать только левую часть этой диаграммы.

Полный алгоритм действий по шагам (* звёздочками помечены шаги, которые необходимо реализовать вам):

  1. Пользователь кликает по ссылке "Выполнить вход". Запрос отправляется на сервер Веб-сервиса.
  2. * Веб-сервис возвращает redirect на страницу https://accounts.tsu.ru/Account/Login2/?applicationId=... Здесь необходимо указать Id вашего сервиса, который вам будет выдан при регистрации.
  3. Пользователю показывается страница с полями для ввода логина и пароля.
  4. Пользователь вводит свои логин и пароль, отправляет на сервер ТГУ.Аккаунты, где происходит их проверка.
  5. ТГУ.Аккаунты возвращают redirect на страницу вашего веб-сервиса, который вы укажете при регистрации. Вместе с redirect отправляется временный token, который представляет собой строку из 255 символов.
  6. * Ваш веб-сервис должен обменять временный token на AccessToken и AccountId. Для этого он направляет прямой POST-запрос (без участия клиента) на адрес https://accounts.tsu.ru/api/Account/. В теле запроса необходимо указать следующие параметры: token - временный token, который был получен на предыдущем шаге, applicationId - Id вашего сервиса, secretKey - секретный ключ. Последние два параметра выдаются при регистрации. Секретный ключ используется для проверки подлинности вашего приложения, поэтому его необходимо сохранить секретным.
  7. В ответ ТГУ.Аккаунты возвращает AccessToken (строка 255 символов) и AccountId (GUID) аутентифицированного пользователя. AccountId - это глобальный идентификатор пользователя, который используется в ТГУ.Аккаунты и других связанных с ним сервисах.
  8. * Реализация этого шага напрямую зависит от ваших целей и особенностей вашей системы. Здесь приведены рекомендации для типичного использования. Полученные данные необходимо сохранить. По AccountId необходимо найти локального пользователя и считать его аутентифицированным. Если пользователь не найден среди локальных, то его необходимо зарегистрировать. После этого можно вернуть в браузер Redirect на страницу пользователя.

При возникновении вопросов обращайтесь по адресу support@accounts.tsu.ru