5.7.4. Структура JSON веб-токена

5.7.4.1. JSON веб-токен (JWT) [18] - структура данных (токен), основанная на формате JSON. JWT - набор параметров (claims) в формате JSON-объекта, закодированных в виде структуры JWS или JWE c цифровой подписью, кодом аутентификации и/или шифрованием.

Структура параметров JWT следующая:

- <iss>: (опциональный) идентификатор эмитента JWT (сервера авторизации или клиента, выпустившего его);

- <sub>: (опциональный) идентификатор субъекта JWT;

- <aud>: (опциональный) перечень идентификаторов получателей, которым предназначен JWT;

- <exp>: (обязательный) срок действия; время, при наступлении и после наступления которого ID токен не должен приниматься к обработке; значением является число в формате JSON, представляющее количество секунд от 1970-01-01T0:0:0Z UTC до соответствующей даты/времени;

- <nbf>: (опциональный) время, до которого JWT не должен приниматься к обработке;

- <iat>: (опциональный) время выпуска JWT;

- <jti>: (опциональный) идентификатор JWT.

При использовании JWT для производных структур, например ID токена (подпункт 5.4.2.14), возможно добавление других параметров, а некоторые опциональные параметры могут быть объявлены обязательными.

Параметры JWT помещаются в компоненте <JWS Payload> (пункт 5.7.1) или в зашифрованном виде - в содержимое <JWE Ciphertext> (пункт 5.7.2).

5.7.4.2. JWT может быть либо подписан, либо подписан и зашифрован. Если JWT подписан и зашифрован, JSON-документ должен быть сначала подписан, затем зашифрован, а результат - структура вложенного JWT - Nested JWT.

5.7.4.3. Описание JWT для российских криптографических алгоритмов приведено в подразделе 8.3 [5].

Примечание. Дополнительные сведения по структурам JWT и Nested JWT приведены в RFC 7519 [18].