OAuth2介绍 | 学习笔记

简介: 快速学习 OAuth2介绍

开发者学堂课程【微服务+全栈在线教育实战项目演练(SpringCloud Alibaba+SpringBoot)OAuth2介绍】学习笔记,与课程紧密连接,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/667/detail/11459


OAuth2介绍


内容介绍:

一、OAuth2提出的背景

二、开放系统间授权

三、分布式访问(单点登录)

四、OAuth2 2.0误解

扫码支付扫码登录这种方式应该是最常见,因为扫码它可以减少很多的操作,用最少的输入最少的操作让大家能看到更多的功能,这是一种大的方向,微信扫码方式登录,就无形中减少了很多用户操作。

原始方式做登录注册虽然功能实现,但是它需要用户是做很多操作,微信登录先有一个扫描二维码,扫二维码可以做什么功能?

第一扫码人的信息可以自动注册加到数据库中,然后可以自动登录到你的页面中。

这种登陆方式在目前的项目中,这种方式应该是很常见的,微信登录也是目前,很多互联网项目中一个标配性的方式。

首先,讲微信扫码登录之前介绍理论知识 Oauth2OAuth2解决什么问题OAuth2是针对特定间题一种解决方案


一、OAuth2提出的背景

照片拥有者想要在云冲印服务上打印照片,云冲印服务需要访问云存储服务上的资源。

image.png

image.png

OAuth2提出背景:

例如 Lucy 拍了很多照片,她将照片存放入百度网盘,并且自己可以进行删除储存修改等操作,网络上存在一种可以打印照片的服务,lucy 想去打印自己在百度网盘上储存的照片。

默认打印照片服务不能直接操作 Lucy 的网盘的,因为该服务没有权限操作她的百度网盘,解决方法就是给打印照片服务授权去读取照片信息,而这个授权就是OAuth2。


二、开放系统间授权

1.方式一∶用户名密码复制

例:Lucy 直接把自己的百度网盘账号和密码提供给打印照片服务,这种方法的缺点是安全性太低,适用于同一公司内部的多个系统,不适用于不受信的第三方应用。

2.方式二︰通用开发者 key

例:打印照片服务和百度网盘之间有一个可以互通的万能钥匙,他们可以互相访问。这种方法在实际当中实用性较低,只适用于合作商或者授信的不同业务部门之间。

3.方式三∶办法令牌

例:百度网盘有打印照片等不同的需求,所以在过程中就创立了一个令牌即字符串,现在某个服务需要去访问百度网盘,百度网盘就颁发这样的一个令牌给该服务,让该服务可以去访问自己。

令牌是有限制的,包括时间限制、权限限制等。接近 OAuth2方式,需要考虑如何管理令牌、颁发令牌、吊销令牌,需要统一的协议,因此就有了 OAuth2协议OAuth2就是按照特定的规则颁发一个字符串,然后把字符串颁发给使用者,包括字符串的有效时间、吊销令牌等。


三、分布式访问(单点登录)

比如,一个项目叫在线教育,现在有三个模块,分别是edu模块、vod模块和msm模块,项目用的是微服务架构,用分布式部署把每一个模块部署到独立的服务器上。

但是过程中有问题,在一种的模块进行了登录,登录之后想实现在vod和msm不需要二次登录,或者在这两模块里面可以直接访问。即在一种模块中登录,另外两模块也可以访问,叫单点登录或者分布式访问。

OAuth2解决方案,令牌机制,按照一定规则生成字符串,字符串包含用户信息

方案:

1、登录功之后,按照一定规则生威字符串,字符串包含用户信息

2、把生成字符串通过路径传递,或者cookie

3、后面再发送请求时候,每次带着字符串进行发送,获取字符串,从字符串获取用户信息登录

OAuth2只提供解决方案,不规定规则,只提供一个大致方案。

四、OAuth2 2.0误解

1.OAuth 并没有支持HTTP以外的协议

2.OAuth 并不是一个认证协议 OAuth 并没有定义授权处理机制

3.OAuth 并没有定义 token 格式 OAuth 2.0并没有定义加密方法

4.OAuth 2.0并不是单个协议

5.OAuth2.0仅是授权框架,仅用于授权代理

目录
打赏
0
0
0
0
263
分享
相关文章
认识OAuth2.0
认识OAuth2.0
100 0
认识OAuth2.0
五分钟带你玩转oauth2(二十)spring security+oauth2通过EnableOAuth2Sso实现单点登录
五分钟带你玩转oauth2(二十)spring security+oauth2通过EnableOAuth2Sso实现单点登录
262 0
五分钟带你玩转oauth2(二十)spring security+oauth2通过EnableOAuth2Sso实现单点登录
详解OAuth2.0
1.概述 OAUTH,Open Authorization,开放授权协议,为用户资源的授权提供了一个安全的、开放而又简易的标准。目的是让第三方对用户的数据只有有限访问权,而无法触及到用户的核心信息。 例如,在第三方网站上使用微信或者QQ作为账号进行登录,就是使用的oauth协议,只返回给第三方诸如用户名、头像等信息,而不会返回给第三方秘密等核心数据。 OAuth最初由Twitter的开发人员提出,后来成为了一个互联网标准,并得到了广泛应用。OAuth2.0是OAuth协议的第二个版本,是一种更加安全、可扩展、功能更加完备的授权协议。目前我们说OAuth一般指的就是OAuth 2.0。
1936 1
带你全面了解 OAuth2.0
最开始接触 OAuth2.0 的时候,经常将它和 SSO单点登录搞混。后来因为工作需要,在项目中实现了一套SSO,通过对SSO的逐渐了解,也把它和OAuth2.0区分开了。所以当时自己也整理了一篇文章《SSO单点登录原理及实现方式》 最近需要经常和各大电商平台进行对接,所以又和OAuth2.0重逢了。因此这里再次对OAuth2.0的原理及实现方式进行一个梳理,希望通过这套教程能够帮到大家。对于技术类的文章,这引言是有点过长了。好了下面我们进入正题。
684 0
16、Spring Security Oauth2 JWT(一)
用户身份认证:用户去访问系统资源时系统要求验证用户的身份信息,身份合法方可继续访问。常见的用户身份认证表现形式有:用户名密码登录,指纹打卡等方式。
253 0
16、Spring Security Oauth2 JWT(一)
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等