遵循本指南:https://medium.com/omarelgabrys-blog/microservices-with-spring-boot-intro-to-microservices-part-1-c0d24cd422c3
我不知道如何通过 api 网关配置请求必须?
例如,如果我直接呼叫尤里卡客户端。我的请求标头中不需要 jwt 身份验证。如何配置必须向 api 网关发送所有请求以验证身份验证。并且只有尤里卡服务器发现的尤里卡客户端的请求不需要通过 api 网关?
请帮帮我!
每个微服务控制自己的访问策略。默认情况下,Spring 引导要求所有请求都经过身份验证。微服务可以通过提供类型ResourceServerConfigurer
的 Bean 并覆盖配置方法来更改此策略,但仅当您不需要身份验证时才需要这样做。
public void configure(HttpSecurity http) {
// This is the default behavior
http.authorizeRequests().anyRequest().authenticated();
}
然后,指示 API 网关将持有者令牌传递给微服务。这在 API 网关的配置中控制。假设使用 YAML 进行配置,则配置中应有一个条目来指定如何处理安全性。
proxy:
auth:
routes:
my-route-name: oauth2
其中my-route-name
是从zuul
条目出发的路线
zuul:
routes:
my-route-name:
path: /my-path
service-id: my-service