簡體   English   中英

如何使用公鑰在本地驗證 keycloak 訪問令牌

[英]how to locally validate keycloak access tokens using the public key

我正在使用帶有 Spring Boot 和 Kotlin 的 Keycloak,我使用的是 keycloak.json 的最低設置,看起來像這樣。 並使用@PreAuthorize("isAuthenticated()") 之類的注釋來保護我的端點。 密鑰斗篷設置是客戶端身份驗證器 = 客戶端 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
}

並且我在文檔部分“2.6.2. Validating Access Tokens”中僅使用“Keycloak-spring-security-adapter”,它說我可以使用 JWT 使用公鑰在本地驗證訪問令牌,但找不到java或Kotlin中的示例,目前驗證是通過將其發送到Keycloak服務器來完成的,我怎么能阻止它這樣做並在本地(離線)驗證令牌而不使用公鑰聯系服務器,如果你可以指出我正確的方向,或者如果你知道一個例子或博客,那將非常有幫助。

作為配置的一部分,您可以創建一個org.springframework.security.oauth2.provider.token.store.JwtAccessTokenConverter Bean 並通過其傳遞公鑰

setVerifierKey(字符串鍵)

方法

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM