Sobes.tech
Назад к вопросам
Senior
3

Расскажи схему взаимодействия по протоколу OAuth 2.0 (Authorization Code Flow).

Компании, где спрашивали
Технократия

Ответ от нейросети

sobes.tech AI

Authorization Code Flow в OAuth 2.0 — это схема, позволяющая клиентскому приложению получить доступ к ресурсам пользователя через авторизацию и обмен кода на токен.

Основные шаги:

  1. Клиент перенаправляет пользователя на страницу авторизации сервера авторизации с параметрами (client_id, redirect_uri, scope и др.).
  2. Пользователь аутентифицируется и даёт согласие.
  3. Сервер авторизации перенаправляет пользователя обратно на redirect_uri с кодом авторизации (authorization code).
  4. Клиентское приложение отправляет этот код на сервер авторизации вместе с client_secret для обмена на access token.
  5. Сервер авторизации проверяет код и возвращает access token (и, возможно, refresh token).
  6. Клиент использует 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.