Весенний клиент безопасности PKCE с Keycloak - PullRequest
0 голосов
/ 14 апреля 2020

У меня есть приложение Java, использующее Spring Security 5.2.1 и защищенное с помощью Keycloak.
Клиент в Keycloak является клиентом openid c openid-connect.
Работает нормально.

Теперь у меня есть требование использовать PKCE (проверочный ключ для обмена кодами).
Поскольку поддержка клиента для PKCE была добавлена ​​в Spring Security 5.2.0.M2, а я использую Spring Security 5.2.1 Я могу использовать Spring Security для его реализации.
Это хорошие новости.
«Плохие» новости в том, что я почти ничего не нашел в Интернете или в документации Spring Security о том, как я должен это реализовать, практически. Добавление «enable-pkce»: true в keycloak. json не работает, и я не нашел четкого примера того, что делать.

Есть ли какая-либо документация, веб-сайт или что-то еще, описывающее что делать для реализации этого?

Большое спасибо!

1 Ответ

1 голос
/ 15 апреля 2020

Из справочной документации Spring Security https://docs.spring.io/spring-security/site/docs/5.3.1.RELEASE/reference/html5/#initiating - запрос авторизации

PKCE будет автоматически использоваться при выполнении следующих условий:

  1. client-secret опущено (или пусто)

  2. client-authentication-method установлено на «none» (ClientAuthenticationMethod.NONE)

...