JHipster - 网关如何在微服务中进行身份验证?

时间:2017-11-20 18:26:08

标签: java jwt jhipster microservices consul

我正在做一个微服务项目,使用JHipster,我正在使用Consul for Service Discovery和JWT进行身份验证,但这是我的问题:

对于其他客户端访问我的微服务,他们需要通过将带有凭据的JSON通过POST传递给网关进行身份验证,最后获得de id_token。但网关如何在服务中进行身份验证?网关做了类似于我们在外部客户端时所做的事情?或者与服务发现有关?

我在application-dev.yml中找到了这个:

security:
    authentication:
        jwt:
            secret: my-secret-token-to-change-in-production

我的猜测是,微服务和网关共享一个共同的密钥,但我没有找到这个密钥,只有yml上的这一部分。

1 个答案:

答案 0 :(得分:1)

您发现它,网关使用密钥在生成令牌时对令牌进行签名,微服务使用相同的密钥来验证签名。网关是一个Zuul代理,它将身份验证头传递给代理的微服务。

Consul中的此属性可通过8500端口的本地Consul代理获取所有这些应用程序,请参阅Spring Cloud Consul