我试图实现一个简单的OAuth2演示应用使用Spring引导和Keycloak为AuthService“客户端与签名JWT认证”。
我们的想法是:
- 一个安全的REST服务“的制作人”
- 提供端点GET /人所有用户/与角色“read_person”校长
- 提供端点POST /人所有用户/与角色“write_person”校长
- 另一个(无担保)REST服务“消费者”
- 提供了一个enpoint / API开放给大家
- 调用内部通路“生产者”
Feign
使用RequestInterceptor传递的accessToken客户机(签署JWT / JWS)
我看了一下文档:
http://www.keycloak.org/docs/latest/securing_apps/topics/oidc/java/client-authentication.html
他说:
一旦客户端应用程序启动时,它允许使用一个URL下载JWKS格式公共>键如http://myhost.com/myapp/k_jwks ,>假设http://myhost.com/myapp是基础客户端>应用程序的URL。 此网址可通过Keycloak使用(见下文)。
在认证过程中,客户端产生一个JWT令牌和体征其与>它的私钥和在特定的反向信道>请求在client_assertion>参数将其发送到Keycloak(例如,码到令牌请求)。
我用Google搜索了很多有关此主题的教程/演示或文档,但到目前为止还没有。 所以在这里我的问题:
如何实现这个“k_jwk”终点? 难道我简单的构建一个
@RestController
在“生产者”由我自己? 如何配置Keycloak让知道这个网址的?如何实现我的“消费者”,以获得新的从Keycloak签署JWT?
更新中删除刺激性PS声明。