Bearer-токен и аутентификация API
Коротко: Bearer-токен — ключ доступа, который клиент отправляет в заголовке каждого запроса к API: Authorization: Bearer <token>. Кто владеет токеном («bearer» = предъявитель), тот получает доступ.
Подробнее: Токен выдаётся после входа. Сервер при каждом запросе проверяет его действительность и так знает, кто обращается, не передавая каждый раз пароль и сессию.
Подробности
- Виды: Случайные непрозрачные строки, которые сервер ищет, или самодостаточные токены вроде JWT, содержащие данные и подпись.
- OAuth: Токен доступа (OAuth 2.0) — обычно короткоживущий bearer-токен, дополняемый токеном обновления (refresh), с помощью которого получают новый.
- Риск: Любой, у кого есть токен, может им пользоваться. Поэтому отправлять только по HTTPS, короткий срок действия, ограничивать права (scopes), не писать в URL и журналы.
- Хранение в браузере:
localStorageможно прочитать через XSS, cookie сHttpOnly— нельзя (но нужна защита от CSRF). См. XSS и CSRF. - Отзыв: Непрозрачные токены можно блокировать на стороне сервера. Чистые JWT действуют до истечения срока, если не вести список отзыва.
- Альтернативы: Ключи API (долгоживущие, для серверов), сессионные cookie (для страниц в браузере), mTLS.
См. также: двухфакторный вход