我正在使用“Zuul”作为我的基于Spring启动的api微服务的api网关。我还为JWT令牌创建和验证实现了一个独立的“Auth Server”。
我想要实现的是“Zuul”在允许请求转到任何服务之前调用“Auth Server”进行令牌验证。
所以基本流程将如下所示
由于速度,延迟问题我正在寻找一种聪明的方法来做到这一点。有许多基于“下游微服务路由之前的Zuul预过滤”的示例。并且很难弄清楚哪一种更适合我的情况。除了定制方法之外,还有任何标准的方法吗?
下面是我到目前为止找到的最好的例子。由于我缺乏经验,我真的不知道这个架构是否是继续的好选择。
https://github.com/spring-cloud/spring-cloud-netflix/issues/1392#issuecomment-253267241
问题是知道如何设置授权服务器,为此开始使用此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