了解第三方授权OAuth
什么是三方授权?
第三方授权就是,委托第三方来对既定的用户进行鉴定,鉴定成功之后,下发信任凭证,信任凭证和用户挂钩,同时可以使用此凭证来去第三方平台,获得该用户开放的部分信息。
直白的说,就是将用户授权的工作交给第三方来做,而自己只维护信任凭证,并且获取用户信息。
就像我们的QQ和微博一样,你在逛各大论坛的时候,总会有一种途径就是第三方的App登陆。显然这种验证是要在第三方做的,而论坛只需要维护一个token,并且可以获取你的个人信息。
你如果想用部分功能,还是得注册,因为你相当于论坛只是一个有部分信息的游客,而没有成为它的用户,这种手段可以看成是提高自己访问量或转化率的一种手段吧。
其实这种授权方案不一样只用在互联网,部分企业级的网站做资源的共享访问也是这么做的。比如两个网站合作,A站点账户可以登陆B站点,B站点账户可以登陆A站点,这样A站点就能拿到B站点相关资源,反过来也是。就做到了资源共享。
那么这种授权是怎么做的呢?到底安全不安全?那么可能就要引出OAuth协议了。
OAuth是怎么做的,首先OAuth只是一个授权协议,不是一个实现或是一个中间件。
OAuth1于2007年10月建立,之后又在2009年6月重新修订和发布 http://oauth.net/core/1.0a/
OAuth1.0授权流程是什么?
流程很复杂,因为OAuth需要保证授权码和Token在传输的时候不被截取和篡改,所以使用了很多签名反复的验证。
OAuth1.0的问题:反复的签名,开放平台本来就面对开发者,但是反复的签名导致开发的流程太过于复杂。
OAuth2.0引入:抽象验证流程。由于OAuth1过于复杂,之后对OAuth进行了改造引入了Oauth2.0。
OAuth的授权过程如下:
(A) 客户端从资源拥有者那里请求授权。授权请求能够直接发送给资源拥有者,或者间接地通过授权服务器这样的中介,而后者更为可取。
(B) 客户端收到一个访问许可,它代表由资源服务器提供的授权。
(C) 客户端使用它自己的私有证书到授权服务器上验证,并出示访问许可,来请求一个访问令牌。
(D) 授权服务器验证客户端私有证书和访问许可的有效性,如果验证通过则分发一个访问令牌。
(E) 客户端通过出示访问令牌向资源服务器请求受保护资源。
(F) 资源服务器验证访问令牌的有效性,如果验证通过则响应这个资源请求。
了解第三方授权OAuth相关推荐
- Oauth 第三方授权登陆 facebook google twitter instagram
因为公司项目要用到第三方授权,所以记录学习一下 参考学习链接 OAuth 2.0 的简单解释 OAuth 2.0 的四种方式 流程图 (A)用户打开客户端以后,客户端要求用户给予授权. (B)用户同意 ...
- OAUTH之 钉钉第三方授权登录
文章目录 OAUTH之钉钉第三方授权登录 前期用到的工具 获取access_token 请求地址 请求方法 响应 扫码 / 使用账号密码 -- 获取 临时 code 参数重要说明 直接访问 扫码登录 ...
- Google OAUTH + OpenID 给第三方授权
From Evernote: 缩写 13. Google OAUTH + OpenID 给第三方授权 缩写 13.?Google OAUTH + OpenID 给第三方授权 OPENID操作过程: 假 ...
- 微信第三方授权登录之oauth开发
背景: 首先copy下别人讲解的oauth2.0验证授权的一些背景知识: 1) 传统的注册登陆方式: 如果你是一个新用户,则点击新用户注册按钮,进入由简书提供的注册页面,进行用户名密码验证和设置 然后 ...
- aspnet登录界面代码_SPA+.NET Core3.1 GitHub第三方授权登录
GitHub第三方授权登录 有许多文章都讲过GitHub第三方授权登录,但就是没有.NET Core配合前后端分离的项目(Vue,React)的实践.所以本文以前后端分离项目中如何在授权登录后,生成T ...
- SpringBoot2 整合OAuth2组件,模拟第三方授权访问
本文源码:GitHub·点这里 || GitEE·点这里 一.模式描述 授权服务 验证第三方服务的身份,验证邮箱用户的身份,记录和管理认证Token,为资源服务器提供Token校验.场景:第三方网站借 ...
- android 微博 4.1sdk,android使用新浪微博最新SDK4.1进行第三方授权登录
android使用新浪微博最新SDK进行第三方授权登录 工具:android-studio 新浪SDK版本:4.1 1Demo参考 下载官方SDK:https://github.com/sinawei ...
- 微信开放平台开发第三方授权登陆(三):Android客户端
微信开放平台开发系列文章: 微信开放平台开发第三方授权登陆(一):开发前期准备 微信开放平台开发第三方授权登陆(二):PC网页端 微信开放平台开发第三方授权登陆(三):Android客户端 微信开放平 ...
- 登录和第三方授权(Cookie和Authorization)
文章目录 1 登录和授权的区别 2 Cookie 2.1 Cookie的工作机制 2.2 Cookie的作用 2.3 Cookie存在的问题(了解即可) 3 Authorization 3.1 Bas ...
最新文章
- 你有哪些深度学习(rnn、cnn)调参的经验?
- Deleted表用于存储DELETE和UPDATE语句所影响的行的复本
- 数据库--悲观锁【收藏,待尝试】
- 毫秒级的时间处理上G的图片(生成缩略图)
- 基于hibernate实现的分页技术
- Hyperledger Fabric 智能合约实战 (3) 安装fabric
- java类验证和装载顺序_java类加载机制,你会了吗?
- 【Tools】TeamViewer安装教程
- ASP.NET MVC RegisterBundles
- 【ES】ES Attempted to send a bulk request to elasticsearch but Elasticsearch appears to be unreachabl
- 程序员总被坑?这是GitHub上的一篇防骗指南
- 景驰无人车总部落户广州:明年最低量产500辆,回应百度官司
- ubuntu查看安装软件的版本
- 删除Visual Studio最近的项目(收藏)
- 快递扫码入库PC系统
- 数据仓库系列9- 大数据分析
- 最小二乘法之一元线性拟合
- python 椭圆曲线dh密钥交换_密钥交换之DH算法
- 基于高通量测序开发甘蓝型油菜全基因组SSR标记
- 卸载32位office安装64位office卸载不完全导致不能安装64位office时解决办法
热门文章
- 龙飞船再次发射成功!马斯克无缘现场,因疑似感染新冠……
- 信息技术产业的黄金十年?听听他怎么说
- PyTorch 1.6、TensorFlow 2.3、Pandas 1.1 同日发布!都有哪些新特性?
- TIOBE 6 月编程语言排行榜:C 与 Java 进一步拉开差距、Rust 跃进 TOP 20
- 划重点!Android 11 首个开发者预览版新功能抢先看
- 支付宝解释 2019 年账单总额较高;腾讯 QQ 回应新功能可显示对方实时电量;Python 2.7 结束支持 | 极客头条...
- 不识 Pandas,纵是老手也枉然?
- 滴滴缺席的这 11 个月,顺风车迷局如何破?
- 程序员编码能力差,竟是睡眠不足惹的祸?!
- 揭秘苹果“地下黑工厂”:临时工薪资无保障,男厕所门口排长龙