Skip to content

Авторизация (OAuth 2.0)

Alien Ufo edited this page Mar 16, 2024 · 12 revisions

За авторизацию в системе отвечает сервер авторизации. Результатом успешной авторизации будет получение маркера доступа (токена).

Маркер доступа необходим для получения доступа к API.

Авторизация возможна несколькими способами один из них - авторизация с использованием учётных данных пользователя системы.

Получение маркера доступа (токена)

Пример запроса:

  • http request:
POST /oauth2/token HTTP/1.1
Host: localhost:8080
Content-Type: application/x-www-form-urlencoded
Authorization: Basic Y2xpZW50X2lkOnNlY3JldF9pZAo=

grant_type=password&username=test&password=test_pass&scope=http%3A%2F%2Flocalhost:8080&access_type=offline

В ответе будет маркер доступа (access_token). Маркер доступа будет сохранён также и в Cookie.

Пример ответа:

{"scope": "http://localhost:8080", "secret": "uIfRbDlz0HzW+A6x0HwvXMW1kkMl8TY/bJtxKIpSPVvX7U6+IgqpKVTKp3WlaTF2", "session": "6e70656f6a67077c20fdc4e0e7c59131f1089cd5", "expires_in": 3600, "token_type": "Bearer", "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.[сокращенно для краткости]._9qVG2akzJLypSZzjzWV-kYKEw12NeSvtzrbChx9JV4", "refresh_token": "8BnCTdZx4RnHcmFKxomyP/H6DZWFDvnQGnkJxMcyiQy94hR1YLa7IR8XlSEGi4NnFrxN0roT"}

ВНИМАНИЕ: Маркер доступа выдается на час.

Продление маркер доступа (токена):

Пример запроса:

  • http request:
POST /oauth2/token HTTP/1.1
Host: localhost:8080
Content-Type: application/x-www-form-urlencoded
Authorization: Basic Y2xpZW50X2lkOnNlY3JldF9pZAo=

refresh_token=8BnCTdZx4RnHcmFKxomyP%2FH6DZWFDvnQGnkJxMcyiQy94hR1YLa7IR8XlSEGi4NnFrxN0roT&grant_type=refresh_token
Clone this wiki locally