我嘗試使用Spring Boot和Keycloak作爲AuthService來實現一個簡單的OAuth2「使用簽名JWT」客戶端身份驗證的演示應用程序。在Spring Boot中使用Keycloak實現JWT,JWE和JWS(簽名JWT)
的理念是:
- 一個安全的REST服務 「生產者」
- 提供端點GET /人所有用戶/與角色 「read_person」
- 校長提供一個端點POST /個人角色爲「write_person」的所有用戶/負責人
- 另一個(無擔保)REST服務「The Consumer」
- 提供了一個enpoint/API開放給大家
- 使用RequestInterceptor傳遞的accessToken(簽署JWT/JWS)
我讀通過Feign
客戶端調用內部的 「生產者」文檔:
http://www.keycloak.org/docs/latest/securing_apps/topics/oidc/java/client-authentication.html
說:
一旦客戶端應用程序啓動時,它允許使用URL如http://myhost.com/myapp/k_jwks,>假設http://myhost.com/myapp是你的客戶的基礎URL>應用程序下載在JWKS格式公共>鍵。這個URL可以被Keycloak使用(見下文)。
在認證過程中,客戶端生成一個JWT令牌,並使用>其私鑰對其進行簽名,並將其發送到Keycloak中client_assertion>參數中特定backchannel>請求(例如,代碼到令牌請求)。
我搜索了很多關於這個主題的教程/演示或文檔,但到目前爲止失敗了。 所以在這裏我的問題:
如何實現這個 「k_jwk」 終點?在「製片人」中,我自己簡單地製作一個
@RestController
嗎?如何配置Keycloak以瞭解此URL?我該如何實施我的「消費者」才能從Keycloak獲得新簽署的智威湯遜?
更新 即將移除刺激性PS聲明。
爲什麼要重新實現這一切,因爲我們已經做在春節引導適配器? –
請告訴我如何在這裏使用Keycloak Adapater。我找不到任何演示或文檔。 – HaVonTe
http://www.keycloak.org/docs/latest/securing_apps/topics/oidc/java/spring-boot-adapter.html,同時檢查我的博客帖子https://developers.redhat.com/blog/2017/ 05/25 /輕鬆保護您的彈簧啓動應用程序與keycloak /或我們的快速入門https://github.com/keycloak/keycloak-quickstarts –