如何使用Spring Boot和Spring Security将基本授权(登录名和密码)与其他服务(谷歌,github,facebook)的授权结合在一起?有很多信息,我不知道如何正确解决此问题。我将不胜感激该教程或该材料的链接。
AuthenticationFilter
您将拥有UsernamePasswordAuthenticationFilter
for用户名/密码身份验证机制和OAuth2LoginAuthenticationFilter
for Oauth2登录机制。然后对于AuthenticationToken
,您将拥有UsernamePasswordAuthenticationToken
和OAuth2LoginAuthenticationToken
。对于每个阶段,依此类推。password
参数(或者你知道它总是来自/login
URL),在AuthenticationFilter
,OAuth2LoginAuthenticationFilter
将满足它,它会创建UsernamePasswordAuthenticationToken
并把它传递到第三阶段。但是,如果请求带有令牌,它将满足OAuth2LoginAuthenticationFilter
并创建OAuth2LoginAuthenticationToken
并将其传递给第三阶段。我希望这能为您提供一个高层次的图片,仅使用用户名和密码实施一个示例应用程序,在我提到的源代码spring安全类中放置断点,并查看它在每个阶段如何迭代。
一旦确定了这些过滤器的链接方式,然后尝试添加ldap身份验证之类的内容作为应用程序的第二种身份验证机制。
一旦确定要实现这2个,然后按照以下网址添加OAuth2:https: //spring.io/guides/tutorials/spring-boot-oauth2/
参考图:https : //springbootdev.com/2017/08/23/spring-security-authentication-architecture/
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句