5.4.5. JARM - режим ответа на основе JWT

В режиме 2 [5] протокола с генерацией кода авторизации параметры успешного ответа на запрос аутентификации или ответа об ошибке передаются от сервера авторизации к клиенту в составе структуры JWT (пункт 6.4.4 [5]). Данная технология именуется JARM.

В этом случае JWT содержит базовые параметры <iss>, <aud>, <exp>. При успешном ответе в JWT передаются также значения обязательных параметров <code> и <state>. В составе JWT могут передаваться значения других параметров в зависимости от реализации. В ответе об ошибке в составе JWT передаются значения параметров <error>, <error_description>, <error_URI>, <state>.

JWT должен быть только подписан (JWS) либо подписан и зашифрован (JWS и JWE). Шифрование позволяет обеспечить конфиденциальность значений параметров <code> и <state>, а также, возможно, другой информации, которую предполагается передавать в составе структуры JWT. В случае передачи в составе JWT других параметров требуется проведение исследований безопасности используемых параметров.

Решение о необходимости применения шифрования ответа сервера авторизации клиенту в составе JWT принимается на этапе разработки сервера авторизации.

То, как передается значение JWT в составе HTTP-ответа, определяется значением параметра <response_mode> в составе запроса аутентификации: "query.jwt" (или синоним "jwt" в случае <response_type> = "code") и "fragment.jwt" (пункт 6.4.4 [5]).

Примечание. Подробное описание технологии JARM приведено в [24].