【发布时间】:2020-05-25 22:43:51
【问题描述】:
我想在基于微服务的环境中使用 Keycloak,其中身份验证基于 OpenID 端点 REST 调用(“/token”,不重定向到 keycloak 登录页面),我想到的流程是这样的:
1. 前端 SPA 从“/token”端点检索令牌并存储在浏览器的 localStorage 中,然后随每个请求一起发送。
2.网关级认证:Acess Token从前端传递给网关,网关咨询Keycloak服务器检查该token是否仍然有效(未被注销端点调用失效)。
3.基于微服务的授权:Acess Token从网关传递到微服务,使用Spring Boot适配器,微服务离线检查令牌的签名(仅承载客户端?)然后根据令牌中的角色进行授权.
我的问题是:这个流程是否有意义,或者你能建议另一个流程吗?使用什么类型的 Keycloak 客户端?使用 Spring Boot Adapter 传递令牌的理想方法是什么,首先应该这样做吗?请记住,我不是 Keycloak 专家,我已经进行了研究,但仍有疑问。
【问题讨论】:
-
建议使用授权流而不是隐式流。我建议您阅读以下内容:stackoverflow.com/a/54924220/1540748
标签: spring-boot authentication microservices openid keycloak