一、OAuth2解决什么问题

1、开放系统间授权

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

2、图例

  • 资源拥有者:照片拥有者

  • 客户应用:云冲印

  • 受保护的资源:照片

3、方式一:用户名密码复制



用户将自己的"云存储"服务的用户名和密码,告诉"云冲印",(即资源服务器的用户名和密码存储在客户应用服务器上)后者就可以读取用户的照片了。这样的做法有以下几个严重的缺点。

  1. "云冲印"为了后续的服务,会保存用户的密码,这样很不安全。

  2. Google不得不部署密码登录,而我们知道,单纯的密码登录并不安全。

  3. "云冲印"拥有了获取用户储存在Google所有资料的权力,用户没法限制"云冲印"获得授权的范围和有效期。

  4. 用户只有修改密码,才能收回赋予"云冲印"的权力。但是这样做,会使得其他所有获得用户授权的第三方应用程序全部失效。

  5. 只要有一个第三方应用程序被破解,就会导致用户密码泄漏,以及所有被密码保护的数据泄漏。

总结:

将受保护的资源中的用户名和密码存储在客户应用的服务器上,使用时直接使用这个用户名和密码登录

适用于同一公司内部的多个系统,不适用于不受信的第三方应用

4、方式二:通用开发者key

key是事先在"云存储"服务和"云冲印"服务间约定好的,适用于合作商或者授信的不同业务部门之间

5、方式三:颁发令牌

需要考虑如何管理令牌、颁发令牌、吊销令牌,需要统一的申请令牌和颁发令牌的协议

令牌类比仆从钥匙

二、OAuth2简介

1、OAuth主要角色

2、最简向导

川崎高彦:OAuth2领域专家,开发了一个OAuth2 sass服务,OAuth2 as Service,并且做成了一个公司

在融资的过程中为了向投资人解释OAuth2是什么,于是写了一篇文章,《OAuth2最简向导》

三、OAuth2的应用

1、微服务安全

现代微服务中系统微服务化以及应用的形态和设备类型增多,不能用传统的登录方式

核心的技术不是用户名和密码,而是token,由AuthServer颁发token,用户使用token进行登录

2、社交登录

最新文章

  1. PHP比较操作符详解(转自hack58)
  2. 让 “微软雅黑” 在IE6下完美显示
  3. DIV+CSS设计IE6浮动产生双倍距离
  4. KVO的简单用法
  5. LPC1768之时钟
  6. 简单好用的 AJAX 上传插件,还可以抛弃难看的 file 按钮哦~
  7. C:移位运算符
  8. DotNet IOC Framework - Microsoft Unity介绍
  9. VS2010每次编译都重新编译整个工程的解决方案
  10. PHP学习笔记一
  11. PHP出现Notice: unserialize() [function.unserialize]: Error at offset问题的解决方案
  12. js浮点数精度问题
  13. 运行SPL Streams debugger(sdb)的两种方法
  14. java读取文件乱码
  15. 启动期间的内存管理之引导分配器bootmem--Linux内存管理(十)
  16. python连接Greenplum数据库
  17. svn:Cannot negotiate authentication mechanism
  18. Servlet 3.0 规范(二)注解驱动和异步请求
  19. 「PKUSC2018」真实排名(组合)
  20. Hive学习之路 (四)Hive的连接3种连接方式

热门文章

  1. 关于Java中的String类知识点小总结
  2. [打基础]luogu1957口算练习题——字符串基本操作
  3. Flink如何做维表关联?
  4. SpringBoot从入门到精通教程(七)
  5. draggable()拖拽时限制移动区域
  6. 神奇的 SQL 之 HAVING → 容易被轻视的主角
  7. xxfpmW 的诞生过程
  8. 01. Consul 入门
  9. javap使用
  10. Class的一些使用技巧?