Я использую JWT для аутентификации клиента в Keycloak :
POST /token.oauth2 HTTP/1.1
Host: as.example.com
Content-Type: application/x-www-form-urlencoded
grant_type=authorization_code&
code=vAZEIHjQTHuGgaSvyW9hO0RpusLzkvTOww3trZBxZpo&
client_assertion_type=urn%3Aietf%3Aparams%3Aoauth%3A
client-assertion-type%3Ajwt-bearer&
client_assertion=eyJhbGciOiJSUzI1NiJ9.
eyJpc3Mi[...omitted for brevity...].
cC4hiUPo[...omitted for brevity...]
Я получаю:
assess_token
refresh_token
token_type
expires_in
Когда я пытаюсь обновитьтокен я отправляю refresh_token
сам, предоставляю тип refresh_token
и получаю:
{
"error": "unauthorized_client",
"error_description": "INVALID_CREDENTIALS: Invalid client credentials"
}
когда я указываю client_id
я получаю:
{
"error": "invalid_client",
"error_description": "Parameter client_assertion_type is missing"
}
Если я укажу client_assertion_type
, я получу сообщение об ошибке, что client_assertion
само по себе отсутствует, поэтому я буквально должен предоставить параметры, которые я указал при получении токена доступа.
Как на самом деле должен работать этот процесс обновления?