Куда мне нужно отправить запрос на обновление токена доступа? Потому что, если я отправлю запрос в службу ресурсов, у меня будет исключение с истекшим сроком действия токена, даже если привратник обновит токен.
Я хочу обновить токен доступа с помощью токена обновления. В документации привратника говорится: «Если запрос на токен доступа содержит токен обновления, а для параметра --enable-refresh-tokens установлено значение true, прокси автоматически обновит токен доступа для вас». - https://www.keycloak.org/docs/latest/securing_apps/index.html#refresh-tokens
И действительно, когда токен истек, привратник обновляет токен доступа и вводит его где-то в ответ, но когда запрос перенаправляется в службу ресурсов, у меня есть ExpiredJwtException, потому что в запросе нет нового обновленного токена. И в неудачном ответе я вижу, что вместо нового токена используется старый. Однако, если на стороне службы ресурсов возникает ошибка тайм-аута и привратник возвращает свой ответ пользователю, я вижу, что токены доступа и обновления обновляются.
Вот логи привратника:
1.5732098220167706e+09 info keycloak-gatekeeper/middleware.go:154 accces token for user has expired, attemping to refresh the token {"client_ip": "172.18.0.1:36270", "email": "[email protected]"}
1.5732098220504465e+09 info keycloak-gatekeeper/middleware.go:206 injecting the refreshed access token cookie {"client_ip": "172.18.0.1:36270", "cookie_name": "kc-access", "email": "[email protected]", "refresh_expires_in": 3600, "expires_in": 59.949554727}
1.573209822050499e+09 debug keycloak-gatekeeper/middleware.go:226 renew refresh cookie with new refresh token {"refresh_expires_in": 3600}
1.5732098220505428e+09 debug keycloak-gatekeeper/middleware.go:367 access permitted to resource {"access": "permitted", "email": "[email protected]", "expires": -5.050542554, "resource": "/*"}
1.573209851051063e+09 info keycloak-gatekeeper/middleware.go:90 client request {"latency": 29.036757293, "status": 500, "bytes": 44, "client_ip": "172.18.0.1:36270", "method": "GET", "path": "/ping"}