Spring 春天RESTAPI的Oauth.2.0实现
如何使用SpringBoot和SpringSecurity将基本授权(登录+密码)与其他服务(google、github、facebook)的授权结合起来?有很多信息,我不知道如何正确解决这个问题。我将非常感谢本教程或该材料的链接。Spring 春天RESTAPI的Oauth.2.0实现,spring,spring-boot,spring-security,Spring,Spring Boot,Spring Security,如何使用SpringBoot和SpringSecurity将基本授权(登录+密码)与其他服务(google、github、facebook)的授权结合起来?有很多信息,我不知道如何正确解决这个问题。我将非常感谢本教程或该材料的链接。 Spring安全性使用过滤器链实现,每个职责分配给特定类型 例如,下图显示了用户名密码身份验证所涉及的组件 但是SpringSecurity框架允许在同一个应用程序中为每种类型有多个实现 如果您想要多个身份验证机制,那么可以为该机制的每个阶段提供具体实现的列表。例如
- Spring安全性使用过滤器链实现,每个职责分配给特定类型
- 例如,下图显示了用户名密码身份验证所涉及的组件
- 但是SpringSecurity框架允许在同一个应用程序中为每种类型有多个实现
- 如果您想要多个身份验证机制,那么可以为该机制的每个阶段提供具体实现的列表。例如,在您的情况下,在
中,用户名/密码身份验证机制将使用AuthenticationFilter
,而Oauth2登录机制将使用UsernamePasswordAuthenticationFilter
。然后对于OAuth2LoginAuthenticationFilter
s,您将拥有AuthenticationToken
和UsernamePasswordAuthenticationToken
。每个阶段都是如此OAuth2LoginAuthenticationToken
- 现在,当http请求到达服务器时,在每个阶段,spring都会迭代该阶段的列表,直到其中一个满足或列表完成。例如,如果请求带有
参数(或者您知道它总是来自密码
url),则在/login
处,身份验证筛选器
将满足该请求,它将创建OAuth2LoginAuthenticationFilter
,并将其传递到第三阶段。但如果请求带有令牌,它将满足用户名密码身份验证令牌
,并将创建OAuth2LoginAuthenticationFilter
,并将其传递到第三阶段OAuth2LoginAuthenticationToken
- Spring安全性使用过滤器链实现,每个职责分配给特定类型
- 例如,下图显示了用户名密码身份验证所涉及的组件
- 但是SpringSecurity框架允许在同一个应用程序中为每种类型有多个实现
- 如果您想要多个身份验证机制,那么可以为该机制的每个阶段提供具体实现的列表。例如,在您的情况下,在
中,用户名/密码身份验证机制将使用AuthenticationFilter
,而Oauth2登录机制将使用UsernamePasswordAuthenticationFilter
。然后对于OAuth2LoginAuthenticationFilter
s,您将拥有AuthenticationToken
和UsernamePasswordAuthenticationToken
。每个阶段都是如此OAuth2LoginAuthenticationToken
- 现在,当http请求到达服务器时,在每个阶段,spring都会迭代该阶段的列表,直到其中一个满足或列表完成。例如,如果请求带有
参数(或者您知道它总是来自密码
url),则在/login
处,身份验证筛选器
将满足该请求,它将创建OAuth2LoginAuthenticationFilter
,并将其传递到第三阶段。但如果请求带有令牌,它将满足用户名密码身份验证令牌
,并将创建OAuth2LoginAuthenticationFilter
,并将其传递到第三阶段OAuth2LoginAuthenticationToken
参考图:这是否回答了您的问题?这是一个非常琐碎的问题。看看这里,这能回答你的问题吗?这是一个非常琐碎的问题。看这里,我把你的答案标记为我问题的答案。谢谢你我把你的答案记下来作为我问题的答案。谢谢)