как локально проверить токены доступа keycloak с помощью ключа publi c - PullRequest
0 голосов
/ 01 апреля 2020

Я использую Keycloak с пружинной загрузкой и Kotlin, я использую минимум, установленный с Keycloak. json, который выглядит следующим образом. и с аннотацией типа @PreAuthorize ("isAuthenticated ()") для защиты моей конечной точки. И установлен ключевой плащ Client Authenticator = Client Id и секрет с включенным стандартным потоком.

{
  "realm": "dev",
  "realm-public-key" : " public key here ",
  "auth-server-url": "http://localhost:8085/auth/",
  "ssl-required": "external",
  "resource": "test_service",
  "verify-token-audience": true,
  "credentials": {
    "secret": " secrete here"
  },
  "use-resource-role-mappings": true,
  "confidential-port": 0
}

, и я использую только «Keycloak-spring-security-adapter» в разделе документации «2.6.2. Валидация токенов доступа »говорит, что я могу использовать JWT для локальной проверки токенов доступа с помощью ключа publi c, но не могу найти пример в java или Kotlin, на данный момент проверка выполняется путем отправки его на сервер Keycloak, как я понимаю, как я могу остановить его от этого и проверить токен локально (в автономном режиме), не связываясь с сервером с помощью открытого ключа c, если вы можете указать мне правильное направление или если вы знаете пример или блог, это было бы очень полезно.

1 Ответ

0 голосов
/ 04 апреля 2020

В рамках вашей конфигурации вы можете создать org.springframework.security.oauth2.provider.token.store.JwtAccessTokenConverter Bean-компонент и передать ключ publi c через

setVerifierKey (строка)

метод

...