`

图解oauth2【原创】

 
阅读更多
一、什么是OAuth2(Open Auth)
OAuth2(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源,而无需将用户名和密码提供给第三方应用。

二、有谁在应用
各种平台都提供了基于OAuth2的机制,如QQ互联、微信、淘宝,你可以用他们的账号登陆而无需在其他网站上进行注册,并授权此网站获取其账号信息,包括用户名、头像等

三、应用场景
1、在基于终端应用api对接,特别是第三方api接口的时候,比如微信公众号。
2、有个应用是别人开发的,你需要将系统进行整合或者数据对接,此时需要单点登录,OAuth2就是做这个的。

四、与session、cookie机制比对
1、与session机制类似,OAuth2只是变成了token,但是session有其局限性,特别是api对接
2、还有一些终端默认是不会带cookie的,比如android
3、OAuth2可以返回refresh_toke,让客户端在一定时间内刷新token,特别适合app一定时间内无需重复登陆。

五、以下是我针对OAuth2授权码流程的手稿图



六、Lotus-OAuth2
本人针对OAuth2的开发的一整套流程,支持以下四种授权机制
授权码授权
契约授权
资源拥有者密钥证书授权
客户端证书授权
  • 大小: 371.2 KB
分享到:
评论

相关推荐

    Shiro集成OAuth2

    Apache Shiro是一个强大的Java安全框架,它提供了身份验证、授权、会话管理和加密等功能,而OAuth2则是一种开放标准,用于授权第三方应用访问用户资源。将Shiro与OAuth2集成,可以实现更灵活的安全控制,特别是在...

    spring-security-oauth2源码

    Spring Security OAuth2 是一个强大的框架,用于为Java应用提供OAuth2和OpenID Connect安全功能。OAuth2是一个授权框架,允许第三方应用在用户许可的情况下访问其受保护的资源,而OpenID Connect则是在OAuth2之上...

    yii2-oauth2-server, 用于实现OAuth2服务器的包装器( https.zip

    yii2-oauth2-server, 用于实现OAuth2服务器的包装器( https yii2-oauth2-server用于实现OAuth2服务器的包装器( https://github.com/bshaffer/oauth2-server-php 插件)安装安装这里扩展的首选方法是通过 Composer 。...

    springboot+oltu.oauth2搭建oauth2环境

    springboot和apache的开源项目org.apache.oltu.oauth2组合搭建的oauth2环境,一般的oauth配置下就可以用了,但是我这个项目,是用原理上讲如何搭建oauth2,哪个controller转发到哪个controller,为什么这样,都有...

    spring-security-oauth2-2.3.5.RELEASE-API文档-中文版.zip

    赠送jar包:spring-security-oauth2-2.3.5.RELEASE.jar; 赠送原API文档:spring-security-oauth2-2.3.5.RELEASE-javadoc.jar; 赠送源代码:spring-security-oauth2-2.3.5.RELEASE-sources.jar; 赠送Maven依赖信息...

    模拟OAuth2 单点登录

    OAuth2 是一个授权框架,广泛应用于现代Web应用中,用于安全地实现第三方应用访问用户资源。单点登录(Single Sign-On, SSO)则是一种让用户在多个应用系统中只需要登录一次就能访问所有系统的机制。当你提到“模拟...

    oauth2.zip

    OAuth2 是一种授权框架,广泛应用于现代Web应用和API的安全性。它允许第三方应用在用户许可的情况下访问受保护的资源,而无需获取用户的敏感登录凭证。在这个`oauth2.zip`压缩包中,包含两个Spring Boot工程,分别...

    Spring Security oauth2

    #OAuth2-Defender ##主要技术 Maven Spring Boot Spring Security Spring Security OAuth2.0 MySQL ##修改数据库配置 修改defender-oauth2-authorization\src\main\resources\...

    OAuth2 授权流程

    使用OAuth2时,通常还会涉及到 JWT(JSON Web Tokens),这是一种简洁的、自包含的方式用于通信双方之间以JSON对象的形式安全地传输信息。这些令牌可以包含声明(claims),例如用户信息和令牌过期时间等。在OAuth2...

    springboot整合Oauth2,GateWay实现网关登录授权验证

    SpringBoot整合OAuth2和Gateway实现网关登录授权验证是一个复杂而关键的过程,它涉及到现代微服务架构中的安全性设计。OAuth2是一种授权框架,用于保护API并允许第三方应用访问受保护的资源,而Spring Gateway作为...

    纯java实现的OAuth2流程

    在这个"纯Java实现的OAuth2流程"中,我们将深入探讨如何不依赖Spring Boot来独立构建OAuth2的客户端和服务端。 首先,我们要理解OAuth2的基本流程,它通常包括四个角色:资源所有者(Resource Owner)、资源服务器...

    Oauth2实现java

    OAuth2是一种广泛应用于互联网服务的授权协议,它允许第三方应用在用户许可的情况下,安全地访问用户的私有资源,而无需获取用户的登录凭证。OAuth2在Java中的实现通常涉及到服务端和客户端两个部分,这两个部分在...

    spring-boot spring-security-oauth2 完整demo

    《Spring Boot、Spring Security与OAuth2的完整示例解析》 在现代Web开发中,安全性是不可忽视的重要一环。Spring Boot、Spring Security和OAuth2是Java生态系统中用于构建安全Web应用的三大利器。本篇文章将围绕...

    oauth2.rar

    oauth2oauth2oauth2

    Oauth2 Java demo

    OAuth2 是一个授权框架,广泛应用于web应用、移动应用以及API的安全访问控制。在Java环境中实现OAuth2,我们可以创建一个安全的服务提供者(ServiceProvider)和客户端(Client)。在这个"Oauth2 Java demo"中,我们...

    spring-security-oauth2.rar

    Spring Security OAuth2是Spring生态系统中的一个模块,专门用于实现OAuth2规范,为开发者提供了构建安全、可扩展的API服务的能力。 1. **密码模式登录**: 密码模式是OAuth2中的一个授权类型,适用于用户直接登录...

    Spring Cloud 集成OAuth2实现身份认证和单点登录

    本篇将深入探讨如何利用Spring Cloud集成OAuth2来实现身份认证和单点登录(Single Sign-On,简称SSO)。 OAuth2是一种授权框架,它允许第三方应用获取资源所有者的特定资源,同时保护了资源所有者的隐私信息。在...

    Spring cloud Oauth2的密码模式数据库方式实现登录授权验证

    Spring Cloud OAuth2是一种基于OAuth2协议的授权框架,它为微服务架构提供了安全的认证和授权服务。在“Spring Cloud Oauth2的密码模式数据库方式实现登录授权验证”这个主题中,我们将深入探讨如何利用OAuth2的密码...

    spring cloud oauth2 zuul 单点登录 认证授权

    Spring Cloud OAuth2结合Zuul,为微服务架构提供了一种安全、高效的身份验证和授权解决方案。以下是对这些技术的详细解释: **OAuth2** 是一个开放标准,主要用于授权。它不直接处理用户身份验证,但允许第三方应用...

    springcloud整合oauth2和jwt

    在Spring Cloud中,我们可以使用Spring Security OAuth2模块来实现OAuth2的授权服务器和资源服务器。 1. **OAuth2流程**: - 授权请求:客户端(如浏览器或移动应用)引导用户到授权服务器进行登录。 - 用户授权...

Global site tag (gtag.js) - Google Analytics