6.2.2. Метаданные клиента

Для целей данного документа используются следующие метаданные клиента (раздел 4 [8]):

- <grant_types>: (опциональный) JSON-массив, содержащий перечень поддерживаемых клиентом типов разрешений на доступ (grants); для обеспечения аутентификации конечного пользователя по отдельному каналу должен принимать значение "urn: openid: params: grant-type: ciba" для режимов Ping или Poll;

- <backchannel_token_delivery_mode>: (обязательный) режим доставки токена; может принимать одно из следующих значений: "poll", "ping", "push";

- <backchannel_client_notification_endpoint>: (обязательный) HTTPS URL-адрес конечной точки уведомления клиента для режимов Ping или Push;

- <backchannel_authentication_request_signing_alg>: (опциональный) идентификатор алгоритма подписи структуры JWS (параметр <alg>), который клиент использует в подписанных запросах аутентификации (подпункт 6.3.1.1). Если параметр отсутствует, клиент не отправляет подписанные запросы аутентификации;

- <backchannel_user_code_parameter>: (опциональный) логическое значение, указывающее, поддерживает ли клиент параметр <user_code> (значение "true" означает поддержку). Если параметр отсутствует, значением по умолчанию является "false".

При выполнении запросов клиентом напрямую к серверу авторизации значение параметра, определяющего метод аутентификации конечной точки токена <token_endpoint_auth_method>, должно использоваться как для запросов к конечной точке токена, так и к конечной точке аутентификации по отдельному каналу.

Ниже приведен пример запроса динамической регистрации клиента:

POST /connect/register HTTP/1.1

Content-Type: application/json

Accept: application/json

Host: server.example.com

Authorization: Bearer eyJhbGciOiJSUzI1NiJ9.eyJ...

{

"application_type": "web",

"client_name": "My Example",

"logo_uri": "https://client.example.ru/logo.png",

"subject_type": "pairwise",

"token_endpoint_auth_method": "private_key_jwt",

"grant_types": ["urn:openid:params:grant-type:ciba"], "backchannel_token_delivery_mode": "poll",

"jwks_uri": "https://client.example.org/my_public_keys.jwks",

"contacts": ["ve7aft@example.ru", "andy@example.ru"]

}