По порядку Senior Авторизация и безопасность API обновлено

Поток Authorization Code с PKCE

Вопрос

Расставь шаги OAuth 2.0 Authorization Code с PKCE.

Попробуйте сами

Расставьте шаги по порядку стрелками.

  1. 1
    Сервер авторизации перенаправляет обратно с одноразовым кодом
  2. 2
    Пользователь входит и даёт согласие
  3. 3
    Приложение меняет код и code_verifier на access-токен
  4. 4
    Приложение вызывает API с токеном в заголовке Authorization
  5. 5
    Приложение генерирует code_verifier и отправляет пользователя на сервер авторизации с code_challenge
Показать ответ и разбор

Коротко

PKCE связывает начало и конец потока: перехваченный код бесполезен без codeverifier, который знает только приложение. Сам токен клиент получает с бэкенда сервера авторизации, а не в адресной строке.

Правильный порядок

  1. 1
    Приложение генерирует code_verifier и отправляет пользователя на сервер авторизации с code_challenge
  2. 2
    Пользователь входит и даёт согласие
  3. 3
    Сервер авторизации перенаправляет обратно с одноразовым кодом
  4. 4
    Приложение меняет код и code_verifier на access-токен
  5. 5
    Приложение вызывает API с токеном в заголовке Authorization

Разбор

PKCE связывает начало и конец потока: перехваченный код бесполезен без code_verifier, который знает только приложение. Сам токен клиент получает с бэкенда сервера авторизации, а не в адресной строке.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме