OAuth原理
  4Sc2EobNVfno 2023年11月27日 21 0

1. 快递员场景问题:

如何让快递员通过门禁系统进入小区送货?

①. 把自己的密码告诉快递员  =>  不太合适
   a. 拥有和我同样的权限.
   b. 我想取消他进入小区的权力  =>  自己的密码需要改,还得通知其他的快递员.

②. 让快递员能够自由进入小区
   a. 不必知道小区居民的密码.
   b. 唯一权限就是送货,其他地方需要密码的场合,他都没有权限.

(1). 授权机制的设计:

①. 门禁增加一个按钮"获取授权",快递员需要首先按这个按钮,去申请授权.

②. 按下按钮后,屋主的手机会跳出对话框"有人正在要求授权".
   a. 系统会显示快递员的姓名、工号和所属的快递公司.

③. 确认请求属实,点击按钮告诉门禁系统,同意给予他进入小区的授权.

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

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

⑥. 疑问:为什么不远程为快递员开门,而要为他单独生成一个令牌?
   a. 因为快递员可能每天都会来送货,第二天他还可以复用这个令牌.
   b. 有的小区有多重门禁,快递员可以使用同一个令牌通过它们.

2. 互联网场景:

①. 小区:
   a. 储存用户数据的网络服务.
   b. 如:微信储存了我的好友信息,获取这些信息,必须经过微信的"门禁系统".

②. 快递员/快递公司:
   a. 第三方应用,想要穿过门禁系统,进入小区.

③. 业主:
   a. 用户本人,同意授权第三方应用进入小区,获取我的数据.

3. OAuth:

①. OAuth是一种授权机制.
   a. 数据的所有者告诉系统,同意授权第三方应用进入系统,获取这些数据.
   b. 系统产生一个短期的进入令牌(token),来代替密码,供第三方应用使用.

②. OAuth 2.0是目前最流行的授权机制,用来授权第三方应用,获取用户数据.
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月27日 0

暂无评论

推荐阅读