OAuth 白话简明教程-简述

作者:vkvi 来源:ITPOW(原创) 日期:2016-11-10

怎么读?

/'əu 'ɔːθ/

1.0、2.0?

OAuth 1.0 比较复杂,没流行起来,2.0 修改了流程,简单了些,现在基本都是这个版本。

OAuth 适合干什么?

就是登录授权,比如ITPOW要做一个社区,常规做法就是还需要建立一套用户注册登录体系,网民很反感,那么多用户名密码,记得记不到,但人人几乎都有 QQ 帐号,为何不用 QQ 帐号登录后,授权给ITPOW呢?可行,不过先要确定好相互之间认证的规范,这个规范有很多,也可以自己写,但业界比较通用 OAuth。

OAuth 不适合干什么?

系统 A 向系统 B 发送/取数据,可以双方直接保存一个密钥,用这个密钥对发的信息进行签名、验证签名,不必上 OAuth 那么复杂。

单点登录也不一定适合,OAuth 其实也算单点登录,但与标准的单点登录在使用体验上略有不同,如果是同一软件开发商为同一客户开发的多套系统,要实现一个帐号登录多套系统,可能 OAuth 并不是最合适的,尽管它能够办到。

几个名词

先举个虚拟的例子:用户在 QQ 登录,然后授权ITPOW社区使用,用户以 QQ 帐号身份在ITPOW社区发布文章,同时将文章转发到 QQ 空间。

用户(User):有些人又称资源拥有者(Resource Owner),我还是喜欢称用户,资源拥有者——文绉绉的。

用户代理(User Agent):一般就是指浏览器,但不一定。

第三方应用(Third-party Application):上面的例子中就是指ITPOW。有些人又称客户端(Client),我不喜欢这样,因为称客户端,老是容易让人想到浏览器、用户终端。

授权服务器(Authorization Server):上面的例子中就是指 QQ 登录服务器

资源服务器(Resource Server):上面的例子中就是指 QQ 空间服务器。

相关文章