Назад к вопросам
Senior
3
Расскажи схему взаимодействия по протоколу OAuth 2.0 (Authorization Code Flow).
Компании, где спрашивали
Технократия
Ответ от нейросети
sobes.tech AI
Authorization Code Flow в OAuth 2.0 — это схема, позволяющая клиентскому приложению получить доступ к ресурсам пользователя через авторизацию и обмен кода на токен.
Основные шаги:
- Клиент перенаправляет пользователя на страницу авторизации сервера авторизации с параметрами (client_id, redirect_uri, scope и др.).
- Пользователь аутентифицируется и даёт согласие.
- Сервер авторизации перенаправляет пользователя обратно на redirect_uri с кодом авторизации (authorization code).
- Клиентское приложение отправляет этот код на сервер авторизации вместе с client_secret для обмена на access token.
- Сервер авторизации проверяет код и возвращает access token (и, возможно, refresh token).
- Клиент использует access token для доступа к защищённым ресурсам на Resource Server.
Эта схема безопасна, так как access token не передаётся через браузер, а код авторизации одноразовый и короткоживущий.
Пример URL для запроса авторизации:
GET /authorize?response_type=code&client_id=CLIENT_ID&redirect_uri=REDIRECT_URI&scope=read
Обмен кода на токен:
POST /token
Content-Type: application/x-www-form-urlencoded
grant_type=authorization_code&code=AUTH_CODE&redirect_uri=REDIRECT_URI&client_id=CLIENT_ID&client_secret=CLIENT_SECRET
В ответ клиент получает access token для доступа к API.