弹簧。REST API的实施Oauth.2.0

马祖鲁克(O.Mazuruk):

如何使用Spring Boot和Spring Security将基本授权(登录名和密码)与其他服务(谷歌,github,facebook)的授权结合在一起?有很多信息,我不知道如何正确解决此问题。我将不胜感激该教程或该材料的链接。

Kavithakaran Kanapathippillai:
  • Spring安全性是使用过滤器链实现的,每个职责都分配给特定的类型
  • 例如,下图显示了用户名密码验证所涉及的组件。
  • 但是Spring安全框架允许您在同一应用程序中为每种类型具有多种实现。
  • 如果要使用多种身份验证机制,请提供该机制每个阶段的具体实现列表。例如,在您的情况下,AuthenticationFilter您将拥有UsernamePasswordAuthenticationFilterfor用户名/密码身份验证机制和OAuth2LoginAuthenticationFilterfor Oauth2登录机制。然后对于AuthenticationToken,您将拥有UsernamePasswordAuthenticationTokenOAuth2LoginAuthenticationToken对于每个阶段,依此类推。
  • 现在,当一个HTTP请求到达服务器时,在每个阶段,spring都会迭代该阶段的列表,直到其中一个满足或列表完成为止。例如,如果请求与未来的password参数(或者你知道它总是来自/loginURL),在AuthenticationFilterOAuth2LoginAuthenticationFilter将满足它,它会创建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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用Socrata API实施OAuth2

速率限制REST API使用的弹簧

从弹簧批处理器调用异步REST API

如何使用OAuth 2.0实施REST API以进行多个客户端访问

实施对API进行oAuth2身份验证的调用的指南

春季安全 - 实施的oauth2 SSO

使用Jersey 2对rest api实施基本身份验证

REST GET API中的OAuth2安全性

带有Spring MVC REST API的OAuth2

差异春天开机起动器的Web和弹簧引导起动数据休息的REST API

OAuth(OAuth2)ASP.NET REST Web API(自助主机-Windows服务)实现

OAuth 2,0令牌终点

使用spring rest模板使用Oauth2(授权代码)rest api

无法为API设置“ DEFAULT_AUTHENTICATION_CLASSES”导入“ oauth2_provider.ext.rest_framework.OAuth2Authentication”

弹簧靴2的BPMN

为Rest Api实施Spring Security

ServiceStack中的OAuth2授权实施

为vk.com使用Rauth实施OAuth2

Web API 2-实施PATCH

从角7发送的图像与差分数据类型到REST API在弹簧引导2.0.5

通过弹簧安置制作多PUT请求调用与FORMDATA一个API(更换阿帕奇MultipartEntityBuilder与REST)

新的REST API是否仍支持来自DocuSign OAuth的OAuth2令牌请求(资源所有者凭证或SAML)?

使用Go的Rest API,ID返回0

SpringBoot 2.0:使用 Spring Security Oauth2 保护 REST API

适用于Java应用程序的OAuth2 for Office365 REST API

使用Spring-security @PreAuthorize批注和OAuth2保护REST API

使用Spring Oauth2的Rest Api调用给出错误400

node.js-REST API安全性。SSL还是OAuth2?

使用由Keycloak保护的REST API作为OAUTH2-Provider的代理