Spring security 将Spring Security OAuth与其他身份验证/授权功能相结合
我们的目标是设计一种安全策略,以保护能够处理多种身份验证和授权模式/实现的API资源 我们旅程的起点是Dave Syer的“”教程,顺便说一句,这是一个很好的资源,可以用来评估使用Spring Security的现代web开发中的不同身份验证和授权策略 对于我们的用例,我们决定需要结合所描述的两种模式,即API网关和OAuth SSO。这样做的原因是我们有两种类型的安全消费者:Spring security 将Spring Security OAuth与其他身份验证/授权功能相结合,spring-security,spring-boot,spring-security-oauth2,spring-session,Spring Security,Spring Boot,Spring Security Oauth2,Spring Session,我们的目标是设计一种安全策略,以保护能够处理多种身份验证和授权模式/实现的API资源 我们旅程的起点是Dave Syer的“”教程,顺便说一句,这是一个很好的资源,可以用来评估使用Spring Security的现代web开发中的不同身份验证和授权策略 对于我们的用例,我们决定需要结合所描述的两种模式,即API网关和OAuth SSO。这样做的原因是我们有两种类型的安全消费者: 外部客户端,由第三方开发并在我们无法控制的环境中运行。这种类型的客户机是该模式的完美候选者 在我们的环境中运行的内部客
@EnableResourceServer
和@enableRedistpSession
研究的下一步是在同一个应用中结合这两种方法。我们很快发现,这从一开始就不起作用,因为每一个都将创建一个单独的SecurityFilterChain
,并且在发出请求时只选择一个,这使得该链对这两种类型的消费者都是独占的
现在,我们正在拉Spring Studio的过滤器到Spring OAuths中,这样,我们将得到一个单一的<代码> SuffigyFieldStudio,将包含两种策略。
我们知道RESTAPI应该是无状态的,但我们认为,对于内部客户机来说,这是一个很好的折衷方案,其中会话被推送到后端API,否则,对于外部客户机,API将保持完全无状态 我们写这篇文章的原因是想了解社区对这件事的想法,以及这种实施的陷阱是什么。随着研究的继续,我们将更新这篇文章,所以请分享你的想法