Hacker News Digest

25 августа 2025 г. в 12:29 • ducktyped.org • ⭐ 282 • 💬 54

OriginalHN

#oauth#oidc#pkce#security#authorization#tokens#access-tokens#refresh-tokens

An illustrated guide to OAuth

Как работает OAuth
Вместо передачи логина-пароля стороннему приложению OAuth выдаёт токен доступа — персональный «ключ» для конкретного пользователя. Приложение использует его, чтобы действовать от имени пользователя без доступа к его паролю.

Классический поток

  1. Пользователь нажимает «Подключить банк» в YNAB.
  2. YNAB открывает браузер с URL провайдера (например, банка), куда добавляет client_id, redirect_uri, scope и случайный state.
  3. Пользователь логинится у провайдера и разрешает доступ.
  4. Провайдер перенаправляет обратно в YNAB с кодом авторизации.
  5. YNAB обменивает код на токен доступа через безопасный back-end-запрос.
  6. С токеном YNAB запрашивает данные счёта.

PKCE
Для мобильных и SPA добавляют code_challenge и code_verifier, чтобы перехват кода не дал злоумышленнику токен.

Refresh-токены
Короткоживущий access token можно обновлять долгоживущим refresh token без повторного логина.

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