[GET] /oauth/authorize
Этот метод открывается в браузере пользователя и начинает вход через REGOS. Его не нужно вызывать скрытым серверным запросом: пользователь должен попасть на страницу авторизации, войти в профиль и затем вернуться в ваше приложение.
Минимальный запрос содержит тип ответа code, идентификатор клиента и адрес возврата. Для безопасной интеграции добавьте state и PKCE-параметры.
GET https://auth.regos.uz/oauth/authorize?response_type=code&client_id=your_client_id&redirect_uri=https%3A%2F%2Fyour.app%2Fcallback&scope=openid%20profile%20email&state=random_state&code_challenge=your_code_challenge&code_challenge_method=S256
Параметры передаются в query string:
| Название | Обязательность | Описание |
|---|---|---|
response_type |
Да | Всегда code. |
client_id |
Да | Идентификатор вашего приложения. |
redirect_uri |
Да | Адрес возврата после входа. Должен совпадать с зарегистрированным адресом. |
scope |
Нет | Запрашиваемые права, разделенные пробелами, например openid profile email. Если не передать, REGOS использует разрешения клиента. |
state |
Рекомендуется | Случайное значение для защиты от подмены ответа. REGOS вернет его без изменений. |
prompt |
Нет | Управляет поведением входа. Например, login просит войти заново, consent показывает согласие, none запрещает показывать экран входа. |
nonce |
Нет | Значение для связывания запроса с id_token. Используется в OpenID Connect. |
code_challenge |
Рекомендуется | PKCE challenge, вычисленный из code_verifier. Может быть обязательным для вашего клиента. |
code_challenge_method |
Рекомендуется | Используйте S256. |
После успешного входа REGOS перенаправит пользователя на redirect_uri:
https://your.app/callback?code=one_time_code&state=random_state
Если вход невозможен, REGOS вернет OAuth-ошибку. Если redirect_uri принят, ошибка будет отправлена на него в query string, например error=login_required. Ваше приложение должно обработать и успешный ответ, и ошибку.