GET /oauth/authorize
Инициирует Authorization Code flow. Браузер перенаправляется на эту страницу, пользователь авторизуется, затем происходит редирект обратно с кодом.
Параметры запроса
| Параметр | Обязательный | Описание |
|---|---|---|
response_type |
Да | Всегда code |
client_id |
Да | ID зарегистрированного клиента |
redirect_uri |
Да | URI для редиректа (должен совпадать с зарегистрированным) |
scope |
Да | Запрашиваемые scopes через пробел |
state |
Рекомендуется | Случайная строка для защиты от CSRF |
code_challenge |
Да | PKCE challenge (Base64URL SHA-256 от verifier) |
code_challenge_method |
Да | Всегда S256 |
nonce |
Для OIDC | Случайная строка, включается в ID token |
Пример запроса
GET /oauth/authorize
?response_type=code
&client_id=my-app
&redirect_uri=https://app.example.com/callback
&scope=openid%20profile%20email
&state=xK9mP2
&code_challenge=dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk
&code_challenge_method=S256
Успешный ответ
Редирект на redirect_uri с параметрами:
https://app.example.com/callback?code=AUTH_CODE&state=xK9mP2
Ошибки
| Код | Описание |
|---|---|
invalid_request |
Отсутствует обязательный параметр |
unauthorized_client |
Клиент не зарегистрирован или не имеет права на данный grant type |
access_denied |
Пользователь отказал в доступе |
invalid_scope |
Запрошенный scope не поддерживается |