3

我正在使用 JHipster v4.5.5,并且正在研究https://jhipster.github.io/using-uaa/上的示例。我有两个试图通信的微服务。我使用以下注释保护了一种微服务方法:

@Secured({AuthoritiesConstants.USER, AuthoritiesConstants.ADMIN})

我尝试使用 AuthorizedFeignClients 从另一个微服务联系此服务:

@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}

FeignClient 试图使用什么凭据/用户?它是在 jhipster.security.client-authorization 设置下的 application*.yml 中定义的“内部”客户端吗?

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

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

作为替代方案,可以将初始请求的访问令牌转发给进一步的调用。目前,JHipster 没有提供“默认解决方案”。

你如何转发原始请求的访问令牌并转发它?

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

4

0 回答 0