OAuth(开放授权)究竟是什么?
我收集了一些信息
但我想学习和了解更多。我正在寻找有关生命周期的信息。为什么大多数社交网络都依赖这种开放协议(protocol)?
它会在不久的将来随着各种技术(例如 ASP.NET)成为事实吗?
最佳答案
OAuth的允许通知资源提供(比如Facebook)的资源所有者(如你)权限授予一个第三方(如Facebook应用程序)访问他们的信息(例如你的 friend 列表)。
如果你把它说得很清楚,我就会理解你的困惑。让我们举一个具体的例子:加入另一个社交网络!
假设您有一个现有的 GMail 帐户。您决定加入领英。手动添加您所有的许多 friend 既烦人又容易出错。您可能会中途厌烦或在他们的电子邮件地址中插入拼写错误以获取邀请。因此,您可能不想创建帐户。
面对这种情况,LinkedIn 有一个好主意(TM) 来编写一个程序,自动添加您的 friend 列表,因为计算机在处理烦人且容易出错的任务时效率更高。既然现在加入网络这么容易,你不可能拒绝这样的提议,现在是吗?
如果没有用于交换此联系人列表的 API,您必须将用户名和密码提供给 LinkedIn 的 GMail 帐户,从而 给他们太多权力 。
这就是 OAuth 的用武之地。如果您的 GMail 支持 OAuth 协议(protocol),那么 LinkedIn 可以要求您授权他们访问您的 GMail 联系人列表。
OAuth 允许:
好吧,虽然 OAuth 是向前迈出的重要一步,但如果人们没有正确使用它,它并不能解决问题。例如,如果资源提供者一次只提供对所有资源的单一读写访问级别,并且不提供管理访问的机制,那么它就没有意义。换句话说,OAuth 是一个提供授权功能而不仅仅是身份验证的框架。
在实践中,它非常适合社交网络模型。对于那些想要允许第三方“插件”的社交网络来说,它尤其受欢迎。在这个领域,访问资源本质上是必要的,而且本质上也是不可靠的(即您对这些应用程序几乎没有质量控制)。
我还没有在野外看到这么多其他用途。我的意思是,我不知道有一家在线财务咨询公司会自动访问您的银行记录,尽管技术上可以这样使用。
关于oauth - OAuth(开放授权)究竟是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4201431/