oauth2.0概念怎么理解

技术oauth2.0概念怎么理解oauth2.0概念怎么理解,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。OAuth 2.0 是目前最流行的授权机制,用

如何理解oauth2.0的概念?针对这个问题,本文详细介绍了相应的分析和解决方法,希望能帮助更多想要解决这个问题的伙伴找到更简单易行的方法。

OAuth 2.0是目前最流行的授权机制,用于授权第三方应用,获取用户数据。

这个标准比较抽象,用了很多术语,初学者很难理解。其实并不复杂。我给你一个简单的类比,帮助你轻松理解什么是OAuth 2.0。

我住在一个大的住宅区。

oauth2.0概念怎么理解

社区有门禁系统。

oauth2.0概念怎么理解

输入时输入密码。

我经常在网上购物和外卖,每天都有快递要送。我必须想办法让快递员通过门禁系统进入小区。oauth2.0概念怎么理解

我经常在网上购物和外卖,每天都有快递要送。我必须想办法让快递员通过门禁系统进入小区。

oauth2.0概念怎么理解

如果我告诉快递员我的密码,他会和我有同样的权限,这似乎不合适。万一我想取消他进入社区的权利,那就很麻烦了,所以我得自己改密码,通知其他快递员。

快递员有没有办法不用知道小区居民的密码就可以自由进入小区,他唯一的权限就是送货,其他需要密码的场合他没有权限?

二、授权机制的设计

于是,我设计了一套授权机制。

第一步是在门禁系统的密码输入设备下增加一个按钮,叫做‘获取授权’。快递员需要先按这个按钮才能申请授权。

第二步,他按下按钮后,主人的手机会弹出一个对话框:有人在请求授权。系统还会显示快递员的姓名、工作编号和快递公司。

当我确认请求属实后,我点击按钮,告诉门禁系统,我同意授权他进入社区。

第三,在我确认门禁系统后,向快递员显示一个访问令牌。令牌是一串类似于密码的数字,只在短时间内有效(如七天)。

第四,快递员将代币输入门禁系统,进入小区。

有人可能会问,为什么不远程为快递员开门,而是单独为他生成代币呢?这是因为快递员可能每天都要送货,第二天就可以重复使用这个代币。此外,一些社区有多个访问控制,快递员可以使用相同的令牌通过它们。

00-1010我们把上面的例子搬到了互联网上,这就是OAuth的设计。

首先,住宅小区是存储用户数据的网络服务。比如微信存储我朋友的信息。要获得这些信息,我们必须通过微信的“门禁系统”。

其次,快递员(或快递公司)是第三方应用,想通过门禁系统进入社区。

最后,我是用户,我同意授权第三方应用进入社区获取我的数据。

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

00-1010令牌和密码功能相同,都可以进入系统,但有三点不同。

(1)令牌是短期的,到期后会自动失效,用户无法自行修改。一般来说,密码是长期有效的,除非用户修改,否则不会改变。

(2)令牌可以被数据所有者撤销,并且将立即无效。例如,所有者可以随时取消快递员的代币。密码一般不允许被别人撤销。

(3)令牌有范围,比如只能进入小区2号门。对于网络服务,只读令牌比读写令牌更安全。密码通常是完全权限。

这些设计保证了令牌不仅可以让第三方应用获得权限,而且可以随时可控,不会危及系统安全。这就是OAuth 2.0的妙处。

请注意,一旦您知道令牌,您就可以进入系统。一般系统不会再确认身份,所以令牌必须保密,泄漏令牌与泄漏密码的后果是一样的。是代币有效期一般设置得很短的原因。

OAuth 2.0指定了如何颁发令牌的详细信息。具体来说,有四种授权授予方式,即四种颁发令牌的方式,适用于不同的互联网场景。

关于如何理解oauth2.0概念的问题,我希望在这里分享答案。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/36812.html

(0)

相关推荐

  • C++11有作用域的enum举例分析

    技术C++11有作用域的enum举例分析本篇内容介绍了“C++11有作用域的enum举例分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅

    攻略 2021年11月25日
  • 可圈可点的意思,“可圈可点”是什么意思

    技术可圈可点的意思,“可圈可点”是什么意思可圈可点。原指文章中有精妙的句子可圈可点的意思,有值得欣赏、值得赞美的意思。现使用范围扩大,常用于文艺体育类的新闻报道,又进而扩大到其他领域,形容或称赞一切出色、精彩、值得称道的

    2021年10月29日
  • 1公斤水等于多少升水,100升水等于多少公斤水

    技术1公斤水等于多少升水,100升水等于多少公斤水一百升水等于200斤1公斤水等于多少升水。 1升水就是1公斤,所以100升水就是100公斤,1公斤等于两斤,所以100升水就是200斤。 千克是公制计量单位,一千克等于一

    生活 2021年10月25日
  • 如何理解Python网络爬虫和web的系统学习路线图

    技术如何理解Python网络爬虫和web的系统学习路线图如何理解Python网络爬虫和web的系统学习路线图,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法

    攻略 2021年10月25日
  • javaScript如何实现复制粘贴功能

    技术javaScript如何实现复制粘贴功能小编给大家分享一下javaScript如何实现复制粘贴功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一

    攻略 2021年11月18日
  • css样式中星号是什么意思

    技术css样式中星号是什么意思本篇内容介绍了“css样式中星号是什么意思”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

    攻略 2021年12月10日