我将“ Zuul”用作基于spring boot的api微服务的api网关。 我还为JWT令牌创建和验证实现了独立的“身份验证服务器”。
我想要实现的是“ Zuul”在允许请求转到任何服务之前调用“ Auth Server”进行令牌验证。
基本流程如下所示
由于速度,延迟方面的问题,我正在寻找一种做到这一点的聪明方法。 有很多基于“下游微服务路由之前的Zuul预先过滤”的示例。 很难确定哪种方法对我的情况更好。 除了自定义方法之外,还有其他标准方法可以做到这一点吗?
下面是到目前为止我发现的最好的例子。 由于缺乏经验,我真的不知道这种体系结构是否是继续的好选择。
https://github.com/spring-cloud/spring-cloud-netflix/issues/1392#issuecomment-253267241
答案 0 :(得分:0)
事情是要知道如何设置授权服务器,为此 https://www.baeldung.com/spring-security-zuul-oauth-jwt。
正确设置后,zuul中的配置并不那么复杂,在aplication.yaml中,您应将其设置为:
security:
oauth2:
client:
clientId: your_clientId
clientSecret: your_clientSecret
accessTokenUri: your_accessTokenUri
userAuthorizationUri: your_userAuthorizationUri
resource:
userInfoUri: your_userInfoUri
preferTokenInfo: true/false