OAuth2.0介绍|学习笔记

简介: 快速学习 OAuth2.0介绍

开发者学堂课程【Spring Security知识精讲与实战演示(四)OAuth2.0介绍】学习笔记与课程紧密联系,让用户快速学习知识

课程地址https://developer.aliyun.com/learning/course/733/detail/13076


OAuth2.0介绍

 

了解什么是OAuth,要明白它并不是一种技术,它只是一套协议,它的全称是open authorization,第一版叫OAuth,第二版是OAuth2.0。可能会以为OAuth2.0就是OAuth的一个升级版,其实不是,它已经将OAuth1.0彻底废弃,它是一套全新的协议。用一句话描述,OAuth2.0它的作用就是用户授权,让一个系统可以直接访问另外一个系统。有人会认为这有点像单点登录,它不是单点登录。我们来画一张图,说明一下他们的区别到底是什么。

 image.png

首先要有用户,就是每个人。接下来有一个a系统和一个b系统,可以在框里面写,a系统和b系统。不管是a系统,还是b系统都有自己的客户端和服务器。就可以认为这就是a系统的客户端,是它的服务器,同上面一样,这边是它的客户端,下面是它的服务器。先说单点登录,什么是单点登录?已经做过了一个单点登录,单点登录就是a用户登录了a系统, a用户在访问b系统时就无需再重新登录,直接可以访问。在a系统中,只要用户登录成功,a系统会返回一个token给用户。在b系统中登录操作只需要验证token是否合法就可以,这个是单点登录,要注意OAuth2.0不是做单点登录,它的主要功能是干什么?举个例子,假如a系统是打印照片的一个软件,b系统是存储照片的一个软件,如此,用户想用a系统打印b系统里面存储的照片,有两套方案,第一套方案:首先登录b系统,把b系统上存储的照片下载下来,拿到a系统中去打印,这是第一个选择,第一个选择要求用户必须具有a系统的登录权限,也必须有b系统的登录权限,换句话说,就是要有两个系统的使用权限。否则就不能用,就等于空谈,这是第一个方案。

第二个方案:让用户用系统打印照片,让a系统去b系统中拿用户想让它打印的照片,这样做,用户体验要好很多,之前的用户体验用户做的操作太多,先下载照片,再打印照片,但是现在这一套方案只需要操作a系统,不用再去b系统手动照片。所以会更倾向用第二套方案。

但是要做一个事情,第二套方案涉及到的问题是什么?用户要让a系统直接去操作b系统,而不是用户操作a,b系统。要注意用户操作a系统,用户操作b系统,叫单点登录,但是现在让用户操作a,通过a去操作b系统。用户不用直接操作b系统,这叫OAuth2.0。

用文字方式描述清楚:假设a网站是一个打印照片的网站,b网站是一个存储照片的网站,二者本来是毫无关联的两个网站。如果想让a网站打印自己存在b网站的照片,那么a就需要使用b照片的资源才可以,俩都需要登录,登录完之后,拿着b网站下的照片自己去a上去打印就好,这种太麻烦。希望a可以直接操作b,希望a系统可以直接操作b系统,就省去用户下载照片的功夫。这不是单点登录,它比单点登录要更进一步,要更强大一步。

相关文章
|
存储 安全 Java
OAuth2.0
OAuth2.0
270 0
|
5月前
|
JSON 安全 Java
Spring Security 6.x 微信公众平台OAuth2授权实战
上一篇介绍了OAuth2协议的基本原理,以及Spring Security框架中自带的OAuth2客户端GitHub的实现细节,本篇以微信公众号网页授权登录为目的,介绍如何在原框架基础上定制开发OAuth2客户端。
190 4
Spring Security 6.x 微信公众平台OAuth2授权实战
|
6月前
|
存储 安全 Java
|
安全 前端开发 小程序
OAuth2基础知识
OAuth2基础知识
68 0
|
存储 安全 数据安全/隐私保护
OAuth2.0与OAuth1.0你了解了吗?
OAuth2.0与OAuth1.0你了解了吗?
|
安全 JavaScript 前端开发
详解OAuth2.0
1.概述 OAUTH,Open Authorization,开放授权协议,为用户资源的授权提供了一个安全的、开放而又简易的标准。目的是让第三方对用户的数据只有有限访问权,而无法触及到用户的核心信息。 例如,在第三方网站上使用微信或者QQ作为账号进行登录,就是使用的oauth协议,只返回给第三方诸如用户名、头像等信息,而不会返回给第三方秘密等核心数据。 OAuth最初由Twitter的开发人员提出,后来成为了一个互联网标准,并得到了广泛应用。OAuth2.0是OAuth协议的第二个版本,是一种更加安全、可扩展、功能更加完备的授权协议。目前我们说OAuth一般指的就是OAuth 2.0。
1784 1
|
存储 JavaScript 前端开发
带你全面了解 OAuth2.0
最开始接触 OAuth2.0 的时候,经常将它和 SSO单点登录搞混。后来因为工作需要,在项目中实现了一套SSO,通过对SSO的逐渐了解,也把它和OAuth2.0区分开了。所以当时自己也整理了一篇文章《SSO单点登录原理及实现方式》 最近需要经常和各大电商平台进行对接,所以又和OAuth2.0重逢了。因此这里再次对OAuth2.0的原理及实现方式进行一个梳理,希望通过这套教程能够帮到大家。对于技术类的文章,这引言是有点过长了。好了下面我们进入正题。
649 0
|
存储 JSON 缓存
九.SpringCloud+Security+Oauth2实现微服务授权 - Oauth2&JWT的认识
SpringCloud+Security+Oauth2实现微服务授权 - Oauth2&JWT的认识
|
Java Spring
五分钟带你玩转oauth2(二十)spring security+oauth2通过EnableOAuth2Sso实现单点登录
五分钟带你玩转oauth2(二十)spring security+oauth2通过EnableOAuth2Sso实现单点登录
251 0
五分钟带你玩转oauth2(二十)spring security+oauth2通过EnableOAuth2Sso实现单点登录
|
存储 数据库 数据安全/隐私保护
OAuth2介绍 | 学习笔记
快速学习 OAuth2介绍
OAuth2介绍 | 学习笔记