Авторизация пользователя

После успешной регистрации клиента появляется возможность авторизовать пользователя от имени данного клиента. Для этого необходимо направить пользователя по сформированному URL-адресу.

Ссылка для формирования, по которой нужно направить пользователя, желающего авторизоваться с использованием РОСА ID, состоит из следующих частей:

  • хост – базовый URL приложения РОСА ID (например, https://id.rosalinux.ru);
  • путь – путь до эндпойнта авторизации (всегда /authorize);
  • query-параметры – параметры для авторизации, состоящие из пар "ключ-значение".

Query-параметры и их возможные значения приведены в таблице 1.

Для авторизации включение значения openid в параметре scope является обязательным.

Возможные значения параметра scope приведены в таблице 2.

Пример полной ссылки (URL-encoded):

https://id.rosalinux.ru/authorize? scope=openid+email+name&response_type=code&client_id=P000001000&redire ct_uri=https%3A%2F%2Fgoogle.com

После успешной (или неуспешной) авторизации пользователь будет перенаправлен по установленному Redirect URI. При этом в query-параметрах будет находиться необходимая информация для дальнейшей обработки клиентом.

Список возвращаемых query-параметров:

  • При успешной авторизации:
  • code – код авторизации, используемый для дальнейшего получения авторизационного токена, для использования клиентом (процедура описана в следующих разделах);

Пример:

https://google.com?code=AAAAAAAAAAAAAAAAAAAAAA
  • При возникновении ошибки:
  • unsupported_response_type – значение response_type отличается от единственного поддерживаемого code;
  • invalid_scope – запрошено несуществующее значение scope либо отсутствует обязательное для авторизации значение openid;
  • access_denied – пользователь отклонил запрос на авторизацию.

Формат возвращаемой ошибки описан в п. Ошибки.

Пример:

https://google.com? error=invalid_scope&error_description=%22openid%22%20scope%20is%20required