7.4.3. Успешный ответ

1 Сервер авторизации должен проверить действительность объекта запроса и то, что параметр, идентифицирующий алгоритм подписи, не является пустым, а подпись корректна, как представлено в OIDC [11] (подраздел 6.3).

2 Если проверка прошла успешно, сервер должен сгенерировать URI запроса и вернуть в составе <payload> JSON-структуры параметры <request_URI.aud.iss> и <exp> с кодом ответа HTTP "201 Created".

3 Во избежание его угадывания значение <request_URI> должно быть сгенерировано с использованием СКЗИ. Механизм формирования <request_URI> определяется на этапе разработки сервера авторизации, исходя из его прикладных целей и задач.

4 URI запроса должен быть привязан к идентификатору клиента, который определил объект запроса в виде компоненты <payload> соответствующего запроса.

5 Поскольку URI запроса может быть повторно воспроизведен, рекомендуется сделать срок его службы коротким и однократно используемым.

6 Значения параметров компоненты <payload> JSON-структуры JWT должны быть следующими:

- <request_URI>: URI запроса, соответствующий присланному объекту запроса;

- <aud>: JSON-строка, представляющая идентификатор клиента, который послал объект запроса;

- <iss>: JSON-строка, представляющая идентификатор отправителя (issuer identifier) сервера авторизации. Если используется OAuth 2.0, значением является URI переадресации. При использовании OpenID Connect значением является значение отправителя (issuer value) сервера авторизации;

- <exp>: JSON-число, представляющее время окончания срока жизни URI запроса.

Ниже приведен пример такого ответа:

HTTP/1.1 201 Created

Date: Tue, 2 May 2017 15:22:31 GMT

Content-Type: application/JSON

{

"iss": "https://as.example.com/",

"aud": "s6BhdRkqt3",

"request_URI": "urn:example:MTAyODAK",

"exp": 1493738581

}