初学Oauth2.0(一)

OAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用
是目前最流行的授权机制,用来授权第三方应用,获取用户数据。

学习oauth2的资料大多来自
http://www.ruanyifeng.com/blog/2019/04/oauth_design.html

授权机制设计(例子)

  1. 门禁系统的密码输入器下面,增加一个按钮,叫做"获取授权"。快递员需要首先按这个按钮,去申请授权。

  2. 他按下按钮以后,屋主(也就是我)的手机就会跳出对话框:有人正在要求授权。系统还会显示该快递员的姓名、工号和所属的快递公司。我确认请求属实,就点击按钮,告诉门禁系统,我同意给予他进入小区的授权。

  3. 门禁系统得到我的确认以后,向快递员显示一个进入小区的令牌(access token)。令牌就是类似密码的一串数字,只在短期内(比如七天)有效。

  4. 快递员向门禁系统输入令牌,进入小区。

    • 单独生成一个令牌原因:
      1:这是因为快递员可能每天都会来送货,第二天他还可以复用这个令牌。
      2:另外,有的小区有多重门禁,快递员可以使用同一个令牌通过它们。

例子很直观的变现了 oauth的作用:OAuth 就是一种授权机制。数据的所有者告诉系统,同意授权第三方应用进入系统,获取这些数据。系统从而产生一个短期的进入令牌(token),用来代替密码,供第三方应用使用。

令牌与密码

	令牌(token)与密码(password)的作用是一样的,都可以进入系统,但是有三点差异。
  1. 令牌是短期的,到期会自动失效,用户自己无法修改。密码一般长期有效,用户不修改,就不会发生变化。

  2. 令牌可以被数据所有者撤销,会立即失效。以上例而言,屋主可以随时取消快递员的令牌。密码一般不允许被他人撤销。

  3. 令牌有权限范围(scope),比如只能进小区的二号门。对于网络服务来说,只读令牌就比读写令牌更安全。密码一般是完整权限。

    上面这些设计,保证了令牌既可以让第三方应用获得权限,
    同时又随时可控,不会危及系统安全。这就是 OAuth 2.0 的优点。
    
    注意,只要知道了令牌,就能进入系统。系统一般不会再次确认身份,
    所以令牌必须保密,泄漏令牌与泄漏密码的后果是一样的。
    这也是为什么令牌的有效期,一般都设置得很短的原因。
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值