什么是三方授权?

第三方授权就是,委托第三方来对既定的用户进行鉴定,鉴定成功之后,下发信任凭证,信任凭证和用户挂钩,同时可以使用此凭证来去第三方平台,获得该用户开放的部分信息。

直白的说,就是将用户授权的工作交给第三方来做,而自己只维护信任凭证,并且获取用户信息。

就像我们的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相关推荐

  1. Oauth 第三方授权登陆 facebook google twitter instagram

    因为公司项目要用到第三方授权,所以记录学习一下 参考学习链接 OAuth 2.0 的简单解释 OAuth 2.0 的四种方式 流程图 (A)用户打开客户端以后,客户端要求用户给予授权. (B)用户同意 ...

  2. OAUTH之 钉钉第三方授权登录

    文章目录 OAUTH之钉钉第三方授权登录 前期用到的工具 获取access_token 请求地址 请求方法 响应 扫码 / 使用账号密码 -- 获取 临时 code 参数重要说明 直接访问 扫码登录 ...

  3. Google OAUTH + OpenID 给第三方授权

    From Evernote: 缩写 13. Google OAUTH + OpenID 给第三方授权 缩写 13.?Google OAUTH + OpenID 给第三方授权 OPENID操作过程: 假 ...

  4. 微信第三方授权登录之oauth开发

    背景: 首先copy下别人讲解的oauth2.0验证授权的一些背景知识: 1) 传统的注册登陆方式: 如果你是一个新用户,则点击新用户注册按钮,进入由简书提供的注册页面,进行用户名密码验证和设置 然后 ...

  5. aspnet登录界面代码_SPA+.NET Core3.1 GitHub第三方授权登录

    GitHub第三方授权登录 有许多文章都讲过GitHub第三方授权登录,但就是没有.NET Core配合前后端分离的项目(Vue,React)的实践.所以本文以前后端分离项目中如何在授权登录后,生成T ...

  6. SpringBoot2 整合OAuth2组件,模拟第三方授权访问

    本文源码:GitHub·点这里 || GitEE·点这里 一.模式描述 授权服务 验证第三方服务的身份,验证邮箱用户的身份,记录和管理认证Token,为资源服务器提供Token校验.场景:第三方网站借 ...

  7. android 微博 4.1sdk,android使用新浪微博最新SDK4.1进行第三方授权登录

    android使用新浪微博最新SDK进行第三方授权登录 工具:android-studio 新浪SDK版本:4.1 1Demo参考 下载官方SDK:https://github.com/sinawei ...

  8. 微信开放平台开发第三方授权登陆(三):Android客户端

    微信开放平台开发系列文章: 微信开放平台开发第三方授权登陆(一):开发前期准备 微信开放平台开发第三方授权登陆(二):PC网页端 微信开放平台开发第三方授权登陆(三):Android客户端 微信开放平 ...

  9. 登录和第三方授权(Cookie和Authorization)

    文章目录 1 登录和授权的区别 2 Cookie 2.1 Cookie的工作机制 2.2 Cookie的作用 2.3 Cookie存在的问题(了解即可) 3 Authorization 3.1 Bas ...

最新文章

  1. 你有哪些深度学习(rnn、cnn)调参的经验?
  2. Deleted表用于存储DELETE和UPDATE语句所影响的行的复本
  3. 数据库--悲观锁【收藏,待尝试】
  4. 毫秒级的时间处理上G的图片(生成缩略图)
  5. 基于hibernate实现的分页技术
  6. Hyperledger Fabric 智能合约实战 (3) 安装fabric
  7. java类验证和装载顺序_java类加载机制,你会了吗?
  8. 【Tools】TeamViewer安装教程
  9. ASP.NET MVC RegisterBundles
  10. 【ES】ES Attempted to send a bulk request to elasticsearch but Elasticsearch appears to be unreachabl
  11. 程序员总被坑?这是GitHub上的一篇防骗指南
  12. 景驰无人车总部落户广州:明年最低量产500辆,回应百度官司
  13. ubuntu查看安装软件的版本
  14. 删除Visual Studio最近的项目(收藏)
  15. 快递扫码入库PC系统
  16. 数据仓库系列9- 大数据分析
  17. 最小二乘法之一元线性拟合
  18. python 椭圆曲线dh密钥交换_密钥交换之DH算法
  19. 基于高通量测序开发甘蓝型油菜全基因组SSR标记
  20. 卸载32位office安装64位office卸载不完全导致不能安装64位office时解决办法

热门文章

  1. 龙飞船再次发射成功!马斯克无缘现场,因疑似感染新冠……
  2. 信息技术产业的黄金十年?听听他怎么说
  3. PyTorch 1.6、TensorFlow 2.3、Pandas 1.1 同日发布!都有哪些新特性?
  4. TIOBE 6 月编程语言排行榜:C 与 Java 进一步拉开差距、Rust 跃进 TOP 20
  5. 划重点!Android 11 首个开发者预览版新功能抢先看
  6. 支付宝解释 2019 年账单总额较高;腾讯 QQ 回应新功能可显示对方实时电量;Python 2.7 结束支持 | 极客头条...
  7. 不识 Pandas,纵是老手也枉然?
  8. 滴滴缺席的这 11 个月,顺风车迷局如何破?
  9. 程序员编码能力差,竟是睡眠不足惹的祸?!
  10. 揭秘苹果“地下黑工厂”:临时工薪资无保障,男厕所门口排长龙