Что такое OAuth 2.0

Ответ

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

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

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

Типы потоков (grant types):

  1. Authorization Code — для серверных приложений
  2. Implicit (устарел) — для SPA
  3. Client Credentials — для сервис-сервис авторизации
  4. Refresh Token — обновление токена

Пример запроса кода авторизации:

const authUrl = `https://auth-server.com/authorize?
  response_type=code&
  client_id=CLIENT_ID&
  redirect_uri=CALLBACK_URL&
  scope=read_profile`;

OAuth 2.0 использует токены (access_token, refresh_token) вместо паролей, что безопаснее.