JHipster - 网关如何在微服务中进行身份验证?
JHipster - How the gateway authenticate within the microservices?
我正在使用 JHipster 做一个微服务项目,我使用 Consul 进行服务发现,使用 JWT 进行身份验证,但这是我的问题:
对于其他客户端访问我的微服务,他们需要通过 POST 将带有凭据的 JSON 传递到网关进行身份验证,最后获得 id_token。但是网关如何在服务中进行身份验证?网关做的事情类似于我们在有外部客户端时所做的事情?还是和de Service Discovery有关?
我在应用程序中找到了这个-dev.yml:
security:
authentication:
jwt:
secret: my-secret-token-to-change-in-production
我的猜测是微服务和网关共享一个公共密钥,但我没有找到这个密钥,只有 yml 上的这一部分。
你找到了,网关在生成令牌时使用密钥对令牌进行签名,微服务使用相同的密钥来验证签名。网关是一个 Zuul 代理,它将身份验证 header 传递给被代理的微服务。
Consul 中的这个 属性 可通过端口 8500 上的本地 Consul 代理对所有这些应用程序可用,请参阅 Spring Cloud Consul。
我正在使用 JHipster 做一个微服务项目,我使用 Consul 进行服务发现,使用 JWT 进行身份验证,但这是我的问题:
对于其他客户端访问我的微服务,他们需要通过 POST 将带有凭据的 JSON 传递到网关进行身份验证,最后获得 id_token。但是网关如何在服务中进行身份验证?网关做的事情类似于我们在有外部客户端时所做的事情?还是和de Service Discovery有关?
我在应用程序中找到了这个-dev.yml:
security:
authentication:
jwt:
secret: my-secret-token-to-change-in-production
我的猜测是微服务和网关共享一个公共密钥,但我没有找到这个密钥,只有 yml 上的这一部分。
你找到了,网关在生成令牌时使用密钥对令牌进行签名,微服务使用相同的密钥来验证签名。网关是一个 Zuul 代理,它将身份验证 header 传递给被代理的微服务。
Consul 中的这个 属性 可通过端口 8500 上的本地 Consul 代理对所有这些应用程序可用,请参阅 Spring Cloud Consul。