PassFront
  1. PassFront
  2. База знаний
  3. DOM и браузер

Что такое OAuth 2.0?

DOM и браузер

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

Задача

Дать приложению доступ к данным пользователя (например, «войти через Google», доступ к фото) без того, чтобы приложение знало пароль. Пользователь выдаёт разрешение, а приложение получает токен.

Основные роли

  • Resource Owner — пользователь.
  • Client — приложение, запрашивающее доступ.
  • Authorization Server — выдаёт токены (Google, GitHub).
  • Resource Server — хранит данные (API).

Authorization Code Flow (основной)

  1. Приложение перенаправляет пользователя на сервер авторизации.
  2. Пользователь логинится и соглашается дать доступ.
  3. Приложение получает authorization code.
  4. Обменивает код (на бэкенде, с client secret) на access token.
  5. Использует access token для запросов к API.
Authorization: Bearer <access_token>

Токены

  • Access token — короткоживущий, для доступа к API.
  • Refresh token — для получения нового access token без повторного логина.

Нюансы

  • OAuth 2.0 — про авторизацию (доступ), а аутентификацию («кто ты») поверх него даёт OpenID Connect.
  • Для SPA рекомендуется Authorization Code Flow с PKCE.

Коротко для собеседования

OAuth 2.0 — протокол авторизации: приложение получает access token для доступа к ресурсам пользователя без его пароля. Основной сценарий — Authorization Code Flow (код → обмен на токен). Access token короткий, refresh — для обновления. Аутентификацию даёт OpenID Connect поверх OAuth.

Подробнее: OAuth 2.0

Другие вопросы раздела