【发布时间】:2018-07-26 07:08:10
【问题描述】:
对于我最近的项目,我使用 Spring Boot 创建了一个单独的资源服务器。资源服务器的配置方式是,它将检查对 API 的 2 条腿和 3 条腿的访问,并验证 JWT 令牌。资源服务器是一个独立的spring boot jar,运行在其容器中。
我们使用 Spring Boot 创建了几个微服务,它们是可执行的 jar,在其容器中独立部署和运行。资源服务器将保护这些微服务中暴露的端点。为此,我在资源服务器中创建了一个 RestController,其中暴露了端点,它将在请求进来时调用微服务端点。例如
Microservice.java - 在端口 8080 上运行
@RequestMapping("/getUser")
public String getUserName(){
return "xyz";
}
资源服务器 - 在 8090 端口运行
资源服务器控制器.java
@RequestMapping("/userInfo")
public String getUserName(){
// calling above microservice using rest template
}
多个微服务中可以有多个端点,由于我们必须保护它们,在资源服务器的其余控制器中代理每个端点是否正确?我不确定这是否是正确的方法。我们想到的其他方法是创建一个 jar 资源服务器并部署为每个微服务的依赖项。这样,我们就不需要在 Resource Server 的 Rest Controller 中代理端点了。
只是想知道使用单独的资源服务器保护微服务的最佳方法。
【问题讨论】:
标签: java spring-boot oauth-2.0 microservices