Документ утратил силу или отменен. Подробнее см. Справку

8.1.4. Правила обработки

Предположение: клиент хранит на своей стороне состояние сессии, в котором записывается идентификатор сервера авторизации, на который направлен запрос авторизации, и связанная с этим значением информация о браузере (коммуникационном агенте) пользователя.

Клиент должен обрабатывать защищенный с помощью JWT ответ следующим образом:

1 (опционально) клиент расшифровывает JWT, используя ключ, определенный параметром заголовка <kid> полученного JWT. Ключ может быть закрытым ключом, соответствующий открытый ключ которого зарегистрирован ожидаемым отправителем ответа ("use:enc" в метаданных клиента <jwks> или <jwks_URI>), или ключом, полученным из ключа клиента (см. пункт 8.1.2);

2 клиент получает значение параметра JWT <state> и проверяет его привязку к агенту пользователя. Если проверка не пройдена, клиент должен прервать обработку и отказать в ответе;

3 клиент получает параметр JWT <iss>, проверяет, известно ли ему это значение, и идентифицирует ожидаемого отправителя текущей сессии авторизации. Если проверка не пройдена, клиент должен прервать обработку и отказать в ответе;

4 клиент получает параметр JWT <aud> и проверяет, соответствует ли он идентификатору клиента, который использовал клиент для идентификации себя в соответствующем запросе авторизации. Если проверка не пройдена, клиент должен прервать обработку и отказать в ответе;

5 клиент проверяет параметр JWT <exp>, чтобы определить, действителен ли еще JWT. Если проверка не пройдена, клиент должен прервать обработку и отказать в ответе;

6 клиент получает ключ, необходимый для проверки подписи, используя элемент JWT <iss> и элемент заголовка <kid>, после чего проверяет подпись. Если проверка не пройдена, клиент должен прервать обработку и отказать в ответе.

Значение <state> обрабатывается как одноразовый CSRF-токен. Он должен быть объявлен недействительным после осуществления проверки (шаг 2).

Получение клиентом ключей для проверки подписи JWT (шаг 5) должно выполняться в соответствии с алгоритмами подпункта 5.8.1.3.

Пока все проверки не будут успешно пройдены, клиент не должен обрабатывать параметры ответа на запрос авторизации, специфичные для типа разрешения.