OAuth接口与普通的REST接口有什么优势

现在各大开放平台的API都是基于OAuth接口的了,为什么要基于OAuth来做接口呢?毕竟OAuth接口比起原来的REST接口复杂多了,是基于安全上的考虑么?OAuth接口的出现主要是用来解决什么问题呢?

阅读 17.2k
4 个回答

REST和OAuth不可同日而语。

OAuth可以简单理解为网站(系统)用户授权第三方应用(网站、系统)访问自己在网站(系统)中的隐私数据,当然,访问程度由网站(系统)决定。

REST并不适合做需要鉴权的应用。REST仅仅是一个URI资源而已。REST初期理念是“每个不同的子资源都有一个绝对唯一且不重复的URI地址”。类似于目前的淘宝Open开放平台、腾讯Open开放平台仅仅是HTTPAPI而已,并不是REST,也不是RESTFul,只是符合REST特性。

OAuth是授权/鉴权方式

REST是一种HTTP资源URL的风格

这两者没有任何直接关系。

OAuth跟REST不是一个概念。

可以说OAuth是基于REST实现的,主要用于让第三方网站或者应用实现访问自身网站的某些需要身份验证以后才能访问的资源(资源在rest里体现为uri)。

因为OAuth主要针对受保护的资源,而且OAuth作为一个标准,需要考虑的事情也不是一般人能想的,所以相对起来,规则略复杂……其实还好吧,也没复杂到哪去,而且我感觉OAuth2.0比1.0还简单了一些哦。

额还有,现在我们说的REST接口,其实大部分都不能算作严格意义上的REST接口,最多算RESTful而已,这方面的资料可以搜索rest restful关键词来了解

好吧,我感觉我已经有点神志不清了,就说这么点吧,睡觉去了 ..zzZZ

OAuth这个协议产生的目的是为了解决第三方认证的问题,是一个轻量级的第三方认证解决方案(不过,现在也感觉越来越重了)。OAuth的相关信息可以查看维基百科上相关的词条,比如http://zh.wikipedia.org/wiki/OAuth

另外,REST这个的影响个人感觉比OAuth还要深远,它让开发人员重新正确认识了HTTP协议。关于REST具体的信息可以查看Roy Fielding的博士论文《Architectural Styles and the Design of Network-based Software Architectures》http://www.ics.uci.edu/~fielding/pubs...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏