OAuth 2.1 — Versola Docs
/docs
До 1.00.7.5versola.ioGitHub

OAuth 2.1

Какие требования черновика OAuth 2.1 реализует Versola и где она от них отступает.

Спецификация: draft-ietf-oauth-v2-1 (Internet-Draft, работа продолжается)

Versola — сервер OAuth 2.0 (RFC 6749). OAuth 2.1 — незавершенный черновик, который объединяет RFC 6749 с рекомендациями по безопасности, выпущенными с тех пор; эта страница фиксирует, какие его требования Versola уже выполняет. Страница следует черновику в его нынешнем виде и может отставать от него.

Статус

Реализован частично. Отмечено пунктов: 6 из 8.

Обязательный PKCE

  • PKCE обязателен для публичных клиентов, для каждого клиента тенанта fapi2 и для клиентов приложений за edge
  • PKCE обязателен для каждого authorization code flow — не для confidential-клиентов тенанта standard: они могут его опустить, потому что client secret уже доказывает, кто обменивает code

Удаленные grant type

Следующие grant type удалены черновиком и не реализованы:

  • Implicit Grant — уязвим к утечке токенов
  • Resource Owner Password Credentials Grant — поощряет передачу пароля

Более строгая работа с токенами

  • Access token принимаются только в заголовке Authorization (схема Bearer или DPoP) на /userinfo
  • Токены в параметрах URL или в теле запроса отклоняются
  • Ротация refresh token с обнаружением повторного использования — предъявление уже ротированного токена отзывает все семейство токенов; refresh token с привязкой к отправителю продлеваются на месте

Сопоставление redirect URI

  • Точное совпадение строк для redirect URI
  • Обычный http допускается только для loopback-хостов (localhost, 127.0.0.1, [::1])
  • Loopback-редирект с любым портом (RFC 8252 §7.3) — каждый loopback URI, включая порт, регистрируется и сравнивается точно

Примечания

  • Authorization request принимают только PKCE S256. Черновик допускает и plain, если нет поддержки S256; Versola его не предлагает.
  • Профиль standard отступает от черновика в PKCE для confidential-клиентов, как описано выше. Профиль fapi2 — нет.

Куда смотреть

Профили безопасности показывают, чем standard и fapi2 различаются в PKCE и аутентификации клиентов.