方法1: 我正在使用 Springboot 框架进行微服务设计。 我想对我的所有微服务实施身份验证。 我计划在所有微服务之上构建一个身份验证微服务。 假设我的
Microservice-A
路径之一是
/microserviceA/get/employee
我的身份验证 MS 身份验证路径是
/authentication/validate
然后我的 get/employee 将首先路由到对 MS 进行身份验证,它将执行身份验证过程,然后在那里构造我的目标 MS 的路径,以便从身份验证进行 REST 调用。
方法2: 我将直接调用我的微服务-A 在那里,我将拦截并首先调用我的身份验证来验证令牌,一旦一切顺利,然后继续业务流程。
方法3: 在AWS中添加身份验证网关,因为这是我的云平台之一。
实现此流程的最佳实践是什么,提前致谢,如果存在除此之外的其他内容,请告诉我。这将帮助我整合流程。
使用 JWT Token 进行授权,并为其添加 Spring Security。
首先创建一个身份验证微服务(使用 Spring Security 和
UsernamePasswordAuthenticationToken
来对用户进行身份验证),对于路由配置,我的建议是使用 spring-cloud-starter-gateway
并添加 JWT 过滤器来验证传入请求的令牌(您可以使用 OncePerRequestFilter
进行验证)
),然后使用 @PreAuthorize
或 @Secured
为特定端点创建访问权限。
微服务中 JWT 验证的依赖关系:
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt</artifactId>
<version>0.9.1</version>
</dependency>