【发布时间】:2019-07-30 19:29:37
【问题描述】:
我浏览了许多帖子和文章,但没有为我必须实施的案例找到直接的解决方案。
平台:嵌入 Tomcat 的 Spring Boot 2.x.x (Spring Security 5.x.x)
解决方案: REST 服务使用许多客户端应用程序和许多最终用户。
我必须实现一个可供许多客户端应用程序访问的 REST 端点
/api/search。例如,Web 应用程序 APP-X (Angular)、Web 应用程序 APP-Y(Jquery/Bootstrap) 和移动应用程序 APP-Z (IOS)。所有三个客户都是独立的实体(技术角度和业务角度)。所以我必须使用一次性令牌对上述应用程序进行身份验证。因此我计划通过启用
@EnableAuthorizationServer和@EnableResourceServer来使用Spring OAuth2。对于每个应用程序客户端,我将生成一个令牌,他们可以在连接到我的 REST 服务时使用它。 这种方法正确吗?除了应用程序客户端系统还可以为最终用户注册和登录功能。我的端点(
/api/search)也可以访问匿名用户和在ROLE_REGUSER角色下注册的用户。并且通过安全上下文,我需要像往常一样访问用户详细信息的用户身份验证。这是我卡住的地方。如何使用 Spring Security 5.x.x (Spring Boot 2.x.x) 同时处理以下几点。
我。客户端应用程序和最终用户身份验证。
二、允许匿名用户和注册用户访问同一端点。
我附上了小图来详细说明上述情况。
谢谢
【问题讨论】:
标签: spring-boot spring-security amazon-cognito spring-security-oauth2 spring-rest