将传入的令牌下游中继到其他服务
Posted
技术标签:
【中文标题】将传入的令牌下游中继到其他服务【英文标题】:Relaying the incoming token downstream to other services 【发布时间】:2019-08-15 14:48:42 【问题描述】:我试图 100% 了解资源服务器的工作原理,将传入的令牌向下游中继到其他服务。
我有一个带有 spring boot eureka 的微服务架构,带有针对 @EnableAuthorizationServer 的承载身份验证。 我在zuul 中使用带有@EnableZuulProxy 和@EnableOAuth2Sso 的Edge Service 来进行请求输入,并且我希望在那时集中安全性,但是当然,我不能让微服务没有安全性,它们每个都是@EnableResourceServer。
一切正常。
问题是: 使用指向 oauth 服务器或边缘服务的 security.oauth2.resource.user-info-uri ,该承载令牌始终针对 oauth 服务器进行验证,即如果它通过 10 个微服务请求,它将验证针对 oauth 服务器的令牌 10 次? 如果令牌有效,是否有任何方法我不必向 oauth 服务器请求 10 次?
【问题讨论】:
【参考方案1】:好吧, 似乎对于 Bearer token 类型,总是需要在每个资源服务器上针对身份验证服务器进行身份验证。
解决方案是使用 JWT 令牌。
如中所述: https://developer.okta.com/blog/2018/04/02/client-creds-with-spring-boot#extra-credit-reduce-the-number-of-calls-to-the-authorization-server
我们使用签名的 JWT,这意味着您可以在本地验证它们,而不是在每次请求时从 API 服务向授权服务器发出额外的请求。
就是这样。
【讨论】:
以上是关于将传入的令牌下游中继到其他服务的主要内容,如果未能解决你的问题,请参考以下文章