Авторизация (OAuth)
OAuth-авторизация
Запрос на информацию о клиенте для отображения экрана согласия.
Запрос:
/oauth/authorize
Метод запроса: GET.
Параметры запроса:
Ответ:
Схема данных ответа (Schema): OAuthAuthorizeGetResponse.
Пример ответа:
{
"client": {
"time_created": 1742688000000,
"time_updated": 1742788000000,
"client_id": "P000000070",
"user_id": "8e7537fc-7a37-4b80-b8b5-3178dde00e3b",
"name": "РОСА Диск",
"redirect_uri": "http://localhost"
}
}
Возможные сообщения об ошибках:
Подтверждение OAuth-авторизации
Запрос на подтверждение согласия пользователя. Подтверждение или отклонение запроса авторизации пользователем.
Запрос:
/oauth/authorize
Метод запроса: POST.
Параметры запроса:
Пример тела запроса:
{
"scope": "openid email profile",
"response_type": "code",
"client_id": "1",
"redirect_uri": "https://myapp.example.com/oauth/callback",
"accept": true
}
Ответ:
Схема данных ответа (Schema): OAuthAuthorizePostResponse.
Пример ответа:
{
"redirect_url": "https://myapp.example.com/oauth/callback?code=abc123xyz"
}
Возможные сообщения об ошибках:
Получение токена клиента
Запрос на получение токена клиента (authorization_code или refresh_token).
Запрос:
/oauth/client/token
Метод запроса: POST.
Параметры запроса:
Пример тела запроса при обновлении токена (refresh_token):
{
"grant_type": "refresh_token",
"client_id": "70",
"client_secret": "edce4425460bbbb0a3b7c1f529e3c5993839c75490a54cb6b1a45eb0c2fd8e7f",
"refresh_token": "dGhpcyBpcyBhIHJlZnJlc2ggdG9rZW4..."
}
Пример тела запроса при обмене кода на токен (authorization_code):
{
"grant_type": "authorization_code",
"client_id": "70",
"client_secret": "edce4425460bbbb0a3b7c1f529e3c5993839c75490a54cb6b1a45eb0c2fd8e7f",
"code": "rJPqibAWGtUDYJdkOfbskr",
"redirect_uri": "http://localhost"
}
Ответ:
Схема данных ответа (Schema): OAuthTokenResponse.
Пример ответа:
{
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"token_type": "Bearer",
"refresh_token": "dGhpcyBpcyBhIHJlZnJlc2ggdG9rZW4...",
"expires_in": 3600,
"scope": "openid email profile",
"id_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9..."
}
Возможные сообщения об ошибках:
Данные пользователя (OIDC)
Запрос на информацию о пользователе (OIDC) по токену клиента. Требует размещения OAuth access_token из запроса /api/oauth/client/token в заголовке "Authorization: Bearer
Запрос:
/oauth/client/userinfo
Метод запроса: GET.
Параметры запроса: Нет.
Ответ:
Схема данных ответа (Schema): OIDCUserinfo.
Пример ответа:
{
"sub": "550e8400-e29b-41d4-a716-446655440000",
"email": "user@example.com",
"email_verified": true,
"phone_number": "+79001234567",
"phone_number_verified": false,
"given_name": "Иван",
"family_name": "Иванов",
"birthdate": "1990-01-15",
"avatar_large": null
}
Возможные сообщения об ошибках: