6.6.3.1. Ответ на запрос токена в режиме Push

При формировании ответа на запрос токена в режиме Push необходимо руководствоваться общими требованиями, определенными в пункте 6.6.1 [6].

Если клиент зарегистрирован для использования режима Push и конечный пользователь прошел аутентификацию и авторизовал запрос, сервер авторизации передает на конечную точку уведомления клиента сообщение, включающее параметр <auth_req_id>, ID токен, токен доступа и при необходимости токен обновления (пункт 10.3.1 [8]). Используется формат "application/json".

Для привязки ID токена, токена доступа и <auth_req_id> сервер авторизации должен включить значение хэш-кода токена доступа и <auth_req_id> в ID токен, используя параметры <at_hash> и <urn: openid: params: jwt: claim: auth_req_id> соответственно. В случае, если токен обновления передается клиенту, значение его хэш-кода должно быть также добавлено в ID токен с использованием параметра <urn: openid: params: jwt: claim: rt_hash>.

Значение параметра <at_hash> определяется в соответствии с требованиями пункта 6.7.1 [6], а значение параметра <urn: openid: params: jwt: claim: auth_req_id> аналогично <at_hash> с учетом использования <auth_req_id>. При этом используется алгоритм хэширования, указанный в параметре <alg> JOSE заголовка ID токена. Этот же метод применяется для вычисления хэш-кода токена обновления (параметр <urn: openid: params: jwt: claim: rt_ hash> ID токена).

Примечание. Данное требование используется только для режима Push.

Ниже приведен пример обратного вызова в режиме Push:

POST /cb HTTP/1.1

Host: client.example.com

Authorization: Bearer 8d67dc78-7faa-4d41-aabd-67707b374255

Content-Type: application/json

{

"auth_req_id": "1c266114-a1be-4252-8ad1-04986c5b9ac1",

"access_token": "G5kXH2wHvUra0sHlDy1iTkDJgsgUO1bN",

"token_type": "Bearer",

"refresh_token": "4bwc0ESC_Iahflf-ACC_vjD_ltc11ne-8gFPfA2Kx16",

"expires_in": 120,

"id_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJHT1NUMzQxMCJ9.eyJpc3MiOiJodHRwczovL3NlcnZlci5leGFtcGxlLnJ1Iiwic3ViIjoiMjQ4Mjg5NzYxMDAxIiwiYXVkIjoiczZCaGRSa3F0MyIsImVtYWlsIjoiamFuZWRvZUBleGFtcGxlLnJ1IiwiZXhwIjoxNTkxMDc3ODY2LCJpYXQiOjE1Mzc4MTk1MDMsImF0X2hhc2giOiJXdDBrVkZYTWFjcXZuSGV5VTAwMDF3IiwidXJuOm9wZW5pZDpwYXJhbXM6and0OmNsYWltOnJ0X2hhc2giOiJzSGFoQ3VtcFhDUmc1bWtERHZ2cjR3IiwidXJuOm9wZW5pZDpwYXJhbXM6and0OmNsYWltOmF1dGhfcmVxX2lkIjoiMWMyNjYxMTQtYTFiZS00MjUyLThhZDEtMDQ5ODZjNWI5YWMxIiwianRpIjoiMWRlMTI5NDYtZDYyYy00ZjRkLTg1MzItNzc0ZdkyYjFkYjUzIn0.WE3SpNtWJYQb6NDLO9YqNmq9svF2v6YbbjieblpZ6qY"

}