【发布时间】:2019-05-11 14:46:04
【问题描述】:
我有一个 REST 服务,它依赖于外部系统来验证令牌,但需要自己进行授权(使用 @Secured 之类的 API 级别访问)。
要求:
- UI 使用外部系统生成令牌。
- UI 使用令牌对我的服务进行 REST 调用。
- 我的服务使用外部系统验证令牌,但 API 调用的身份验证由我的服务完成
一种可能的解决方案是使用过滤器:
- UI 使用外部系统生成令牌。
- UI 使用令牌对我的服务进行 REST 调用。
- 我的服务有一个过滤器,它使用令牌调用外部系统。
- 有效令牌的外部系统发回用户详细信息。
-
我在成功调用集上的服务是 SecurityContextHolder 之类的
SecurityContextHolder.getContext().setAuthentication(new AuthorizedUser("test", Arrays.asList(new SimpleGrantedAuthority("test_role")), "test",null));
还有其他方法可以实现吗?
【问题讨论】:
-
您是否尝试使用 facebook 或 google auth 之类的东西?
-
@uğurtaş Nops。这只是另一个微服务。
标签: java spring spring-boot spring-security spring-rest