转自:http://www.cftea.com/c/2016/11/6702.asp

怎么读?

/'əu 'ɔːθ/

1.0、2.0?

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

OAuth 适合干什么?

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

OAuth 不适合干什么?

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

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

几个名词

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

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

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

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

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

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

OAuth 白话简明教程 1.简述的更多相关文章

  1. OAuth 白话简明教程 2.授权码模式(Authorization Code)

    转自:http://www.cftea.com/c/2016/11/6703.asp OAuth 白话简明教程 1.简述 OAuth 白话简明教程 2.授权码模式(Authorization Code ...

  2. OAuth 白话简明教程 3.客户端模式(Client Credentials)

    转自:http://www.cftea.com/c/2016/11/6704.asp OAuth 白话简明教程 1.简述 OAuth 白话简明教程 2.授权码模式(Authorization Code ...

  3. OAuth 白话简明教程 4.刷新 Access Token

    转自:http://www.cftea.com/c/2016/11/6705.asp OAuth 白话简明教程 1.简述 OAuth 白话简明教程 2.授权码模式(Authorization Code ...

  4. OAuth 白话简明教程 5.其他模式

    转自:http://www.cftea.com/c/2016/11/6706.asp OAuth 白话简明教程 1.简述 OAuth 白话简明教程 2.授权码模式(Authorization Code ...

  5. 2013 duilib入门简明教程 -- 第一个程序 Hello World(3)

    小伙伴们有点迫不及待了么,来看一看Hello World吧: 新建一个空的win32项目,新建一个main.cpp文件,将以下代码复制进去: #include <windows.h> #i ...

  6. 2013 duilib入门简明教程 -- 部分bug (11)

     一.WindowImplBase的bug     在第8个教程[2013 duilib入门简明教程 -- 完整的自绘标题栏(8)]中,可以发现窗口最大化之后有两个问题,     1.最大化按钮的样式 ...

  7. 2013 duilib入门简明教程 -- 部分bug 2 (14)

        上一个教程中提到了ActiveX的Bug,即如果主窗口直接用变量生成,则关闭窗口时会产生崩溃            如果用new的方式生成,则不会崩溃,所以给出一个临时的快速解决方案,即主窗口 ...

  8. 2013 duilib入门简明教程 -- 自绘控件 (15)

        在[2013 duilib入门简明教程 -- 复杂控件介绍 (13)]中虽然介绍了界面设计器上的所有控件,但是还有一些控件并没有被放到界面设计器上,还有一些常用控件duilib并没有提供(比如 ...

  9. 2013 duilib入门简明教程 -- 事件处理和消息响应 (17)

        界面的显示方面就都讲完啦,下面来介绍下控件的响应.     前面的教程只讲了按钮和Tab的响应,即在Notify函数里处理.其实duilib还提供了另外一种响应的方法,即消息映射DUI_BEG ...

随机推荐

  1. IIS "rewrite.dll failed to load. The data is the error." 错误解决方法

    在Windows 10 build 17133.73上部署一个较老版本的ASP.NET 2.0程序,访问时候出现: Service Unavailable HTTP Error 503. The se ...

  2. 更新jenkins插件,报错 Perhaps you need to run your container with "-Djava.awt.headless=true"?

    Configuring the Java environment variables vi ~/.bash_profile 在最后一行加入: export JAVA_OPTS=-Djava.awt.h ...

  3. 【POJ2409】Let it Bead Pólya定理

    [POJ2409]Let it Bead 题意:用$m$种颜色去染$n$个点的环,如果两个环在旋转或翻转后是相同的,则称这两个环是同构的.求不同构的环的个数. $n,m$很小就是了. 题解:在旋转$i ...

  4. 解决Android 5.0中出现的警告:Service Intent must be explicit

    extends:http://www.eoeandroid.com/thread-568853-1-1.html 本帖最后由 469874851 于 2015-3-11 18:15 编辑 有些时候我们 ...

  5. Python 多进程应用示例

    import multiprocessing import time def func(name): outputline=name for i in range(3): outputline+= & ...

  6. Sciter TIScript KeyEvent

    function movable() // install movable window handler{ function onKeyDown(evt) { if(evt.keyCode == Ev ...

  7. [EF]vs15+ef6+mysql code first方式

    写在前面 前面有篇文章,尝试了db first方式,但不知道是什么原因一直没有成功,到最后也没解决,今天就尝试下code first的方式. [EF]vs15+ef6+mysql这个问题,你遇到过么? ...

  8. ibatitsnet 因为会Dao.config 配置数据版本太低导致的问题

    ProjectReview.Test.SqlMapTest.TestSqlMap:IBatisNet.Common.Exceptions.ConfigurationException : - The ...

  9. HDU 5512 - Pagodas - [gcd解决博弈]

    题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=5512 Time Limit: 2000/1000 MS (Java/Others) Mem ...

  10. SQL Fundamentals: Using Single-Row Functions to Customize Output使用单行函数自定义输出

    SQL Fundamentals || Oracle SQL语言 DUAL is a public table that you can use to view results from functi ...