2012·federation·RFC 6749 / 7636
Modern
OAuth 2.0 (+PKCE)
Делегированный доступ. Auth Code + PKCE — стандарт для SPA и mobile.
Плюсы
- +Гибкие гранты
- +Доступ без шеринга пароля
Минусы
- −Лёгко неправильно сконфигурировать
- −Сам по себе не аутентификация
OAuth 2.0 Authorization Code + PKCE
- 1.SPA ↺ SPAverifier ← rand; challenge=S256(verifier)
- 2.SPA → User302 → /authorize?…&code_challenge=…
- 3.User → AuthServerlogin + consent
- 4.AuthServer → SPA302 → cb?code=…&state=…
- 5.SPA → AuthServerPOST /token (code + verifier)
- 6.AuthServer ↺ AuthServerS256(verifier) == challenge?
- 7.AuthServer → SPAaccess_token + refresh + id_token
- 8.SPA → ResourceGET /api + Authorization: Bearer
- 9.Resource → SPA200 data
OAuth 2.0 Authorization Code + PKCE
Полный цикл: верификатор → challenge → /authorize → /token → /userinfo.
Network · DevTools