如何配置“Zuul Gateway”调用“Auth服务器”进行令牌验证

问题描述 投票:0回答:1

我正在使用“Zuul”作为我的基于Spring启动的api微服务的api网关。我还为JWT令牌创建和验证实现了一个独立的“Auth Server”。

我想要实现的是“Zuul”在允许请求转到任何服务之前调用“Auth Server”进行令牌验证。

所以基本流程将如下所示

  1. Zuul将仅作为网关用途
  2. 当谈到JWT验证时,如果令牌有效,“Zuul”会询问“Auth Server”
  3. 如果它有效,那么“下游路由”将由Zuul进行。如果不是请求将照常被拒绝

由于速度,延迟问题我正在寻找一种聪明的方法来做到这一点。有许多基于“下游微服务路由之前的Zuul预过滤”的示例。并且很难弄清楚哪一种更适合我的情况。除了定制方法之外,还有任何标准的方法吗?

下面是我到目前为止找到的最好的例子。由于我缺乏经验,我真的不知道这个架构是否是继续的好选择。

https://github.com/spring-cloud/spring-cloud-netflix/issues/1392#issuecomment-253267241

spring-boot jwt netflix-zuul api-gateway
1个回答
0
投票

问题是知道如何设置授权服务器,为此开始使用此https://www.baeldung.com/spring-security-zuul-oauth-jwt

https://docs.spring.io/spring-security-oauth2-boot/docs/current/reference/html/boot-features-security-oauth2-authorization-server.html

正确设置后,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
© www.soinside.com 2019 - 2024. All rights reserved.