【问题标题】:JHipster - How the gateway authenticate within the microservices?JHipster - 网关如何在微服务中进行身份验证?
【发布时间】:2018-05-04 01:39:21
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: java jwt jhipster microservices consul


    【解决方案1】:

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

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

    【讨论】:

    • 那么consul提供网关访问微服务的token?我也会在文档中搜索,如果找到,我会写在这里。
    • 不,Consul 提供了签署令牌的密钥,而不是令牌本身。 Consul 提供服务注册和集中配置。令牌由网关在身份验证期间生成。
    • 哦!谢谢!! :)
    猜你喜欢
    • 1970-01-01
    • 2019-02-07
    • 2019-07-11
    • 2021-01-10
    • 2018-03-10
    • 2020-06-12
    • 1970-01-01
    • 2021-04-26
    • 2019-03-01
    相关资源
    最近更新 更多