JHipster授权为微服务到微服务的微客户端

JHipster授权为微服务到微服务的微客户端,jhipster,netflix-feign,spring-cloud-feign,Jhipster,Netflix Feign,Spring Cloud Feign,我使用的是JHipster v4.5.5,我正在浏览网站上的示例。我有两个微服务正在尝试沟通。我用以下注释保护了一个microservice方法: @Secured({AuthoritiesConstants.USER, AuthoritiesConstants.ADMIN}) 我尝试使用AuthorizedFeignClient从另一个微服务联系此服务: @AuthorizedFeignClient(name = "MicroService2") public interface Micro

我使用的是JHipster v4.5.5,我正在浏览网站上的示例。我有两个微服务正在尝试沟通。我用以下注释保护了一个microservice方法:

@Secured({AuthoritiesConstants.USER, AuthoritiesConstants.ADMIN})
我尝试使用AuthorizedFeignClient从另一个微服务联系此服务:

@AuthorizedFeignClient(name = "MicroService2")
public interface MicroService2Client {

    @RequestMapping(method = RequestMethod.GET, value = "/api/demo/string")
    public String getString();
...
当我尝试时,我得到:

An unexpected error occurred: status 403 reading MicroService2Client#getString(); content: {"message":"error.accessDenied","description":"Access is denied","fieldErrors":null}
假装客户端试图使用什么凭据/用户?它是应用程序*.yml中jhipster.security.client-authorization设置下定义的“内部”客户端吗

如果是这样,我应该在该方法上使用什么注释来允许该用户访问REST方法

我希望使用用户帐户,而不是尝试使用服务帐户。我在文件中看到一个注释:

作为替代方案,初始请求的接入令牌可以转发到进一步的呼叫。目前,JHipster没有提供“默认解决方案”

如何转发原始请求的访问令牌并在上转发

我在这里设置了一组演示项目:


令牌存储在授权HTTP头中,只需从传入请求中读取并将其添加到传出请求中即可。这是网关通过Zuul代理所做的。我使用的是一个只指定接口的假客户端。我没有编写实现,也从未见过它。我无法访问这些方法在运行时如何编写的内部内容……您尝试过这个吗?我不知道如何尝试那个链接。我不想用@Param(“token”)字符串标记来注释每个客户机方法,我也不知道是否应该注册RequestInterceptor,或者在哪里注册。就我个人而言,我宁愿使用RestTemplate,因为它的文档记录更好。