Keycloak OpenID Connect redirect_uri ведет себя непоследовательно
У меня есть Кейклоак22.0.5
развернут через докер на моем локальном компьютере. У меня есть собственный клиент OpenID, доступ к которому настроен следующим образом: я не хочу использовать предоставление пароля, я использую (authorization_code
вариант) вместо этого предоставить (так же, какaccount-console
Имеет ли это).
Это запрос, который я отправляю на сервер для аутентификации:
GET localhost:2137/realms/SpringKeycloak/protocol/openid-connect/auth?
client_id=login-user
&redirect_uri=http%3A%2F%2Flocalhost%3A8000
&state=af08ea5a-9d4d-4850-9491-483809f2c991
&response_type=code
&scope=openid
&code_challenge=Jqd4T8zNX438YOgW-99eFp_7fbMkDb1Tyu0TtU41x3A
&code_challenge_method=S256
&grant_type=pkce
Дело в том, что это работает прекрасно, но когда я пытаюсь получить токен, используя тот жеredirect_uri
:
POST localhost:2137/realms/SpringKeycloak/protocol/openid-connect/token
code=ed24eb7c-ef7e-4c51-b545-c59e0717f6a1.54c25efe-7721-4d81-9f64-99493ee365b9.a2b82e1f-84c7-464f-a555-dcea26162e5a
&grant_type=authorization_code
&client_id=login-user
&redirect_uri=http%3A%2F%2Flocalhost%3A8000
&code_verifier=0a844a24ec41aeb96bc016d8d488794802a066378bbfd35bb8adcf55
Однако он утверждает, что URL-адрес теперь недействителен:
{
"error": "invalid_grant",
"error_description": "invalid parameter: redirect_uri"
}
И я не знаю, что может быть причиной такого поведения. Я просмотрел как конфигурацию, так и Интернет, но не нашел никаких дополнительных настроек, которые могли бы вызвать это.
Я также попытался изменить тип гранта во втором запросе наpkce
так же, как и первый, но он просто повышаетunsupported_grant_type