OAuth 白话简明教程 1.简述
转自:http://www.cftea.com/c/2016/11/6702.asp
- OAuth 白话简明教程 1.简述
- OAuth 白话简明教程 2.授权码模式(Authorization Code)
- OAuth 白话简明教程 3.客户端模式(Client Credentials)
- OAuth 白话简明教程 4.刷新 Access Token
- OAuth 白话简明教程 5.其他模式
怎么读?
/'ə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.简述的更多相关文章
- OAuth 白话简明教程 2.授权码模式(Authorization Code)
转自:http://www.cftea.com/c/2016/11/6703.asp OAuth 白话简明教程 1.简述 OAuth 白话简明教程 2.授权码模式(Authorization Code ...
- OAuth 白话简明教程 3.客户端模式(Client Credentials)
转自:http://www.cftea.com/c/2016/11/6704.asp OAuth 白话简明教程 1.简述 OAuth 白话简明教程 2.授权码模式(Authorization Code ...
- OAuth 白话简明教程 4.刷新 Access Token
转自:http://www.cftea.com/c/2016/11/6705.asp OAuth 白话简明教程 1.简述 OAuth 白话简明教程 2.授权码模式(Authorization Code ...
- OAuth 白话简明教程 5.其他模式
转自:http://www.cftea.com/c/2016/11/6706.asp OAuth 白话简明教程 1.简述 OAuth 白话简明教程 2.授权码模式(Authorization Code ...
- 2013 duilib入门简明教程 -- 第一个程序 Hello World(3)
小伙伴们有点迫不及待了么,来看一看Hello World吧: 新建一个空的win32项目,新建一个main.cpp文件,将以下代码复制进去: #include <windows.h> #i ...
- 2013 duilib入门简明教程 -- 部分bug (11)
一.WindowImplBase的bug 在第8个教程[2013 duilib入门简明教程 -- 完整的自绘标题栏(8)]中,可以发现窗口最大化之后有两个问题, 1.最大化按钮的样式 ...
- 2013 duilib入门简明教程 -- 部分bug 2 (14)
上一个教程中提到了ActiveX的Bug,即如果主窗口直接用变量生成,则关闭窗口时会产生崩溃 如果用new的方式生成,则不会崩溃,所以给出一个临时的快速解决方案,即主窗口 ...
- 2013 duilib入门简明教程 -- 自绘控件 (15)
在[2013 duilib入门简明教程 -- 复杂控件介绍 (13)]中虽然介绍了界面设计器上的所有控件,但是还有一些控件并没有被放到界面设计器上,还有一些常用控件duilib并没有提供(比如 ...
- 2013 duilib入门简明教程 -- 事件处理和消息响应 (17)
界面的显示方面就都讲完啦,下面来介绍下控件的响应. 前面的教程只讲了按钮和Tab的响应,即在Notify函数里处理.其实duilib还提供了另外一种响应的方法,即消息映射DUI_BEG ...
随机推荐
- 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 ...
- 更新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 ...
- 【POJ2409】Let it Bead Pólya定理
[POJ2409]Let it Bead 题意:用$m$种颜色去染$n$个点的环,如果两个环在旋转或翻转后是相同的,则称这两个环是同构的.求不同构的环的个数. $n,m$很小就是了. 题解:在旋转$i ...
- 解决Android 5.0中出现的警告:Service Intent must be explicit
extends:http://www.eoeandroid.com/thread-568853-1-1.html 本帖最后由 469874851 于 2015-3-11 18:15 编辑 有些时候我们 ...
- Python 多进程应用示例
import multiprocessing import time def func(name): outputline=name for i in range(3): outputline+= & ...
- Sciter TIScript KeyEvent
function movable() // install movable window handler{ function onKeyDown(evt) { if(evt.keyCode == Ev ...
- [EF]vs15+ef6+mysql code first方式
写在前面 前面有篇文章,尝试了db first方式,但不知道是什么原因一直没有成功,到最后也没解决,今天就尝试下code first的方式. [EF]vs15+ef6+mysql这个问题,你遇到过么? ...
- ibatitsnet 因为会Dao.config 配置数据版本太低导致的问题
ProjectReview.Test.SqlMapTest.TestSqlMap:IBatisNet.Common.Exceptions.ConfigurationException : - The ...
- HDU 5512 - Pagodas - [gcd解决博弈]
题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=5512 Time Limit: 2000/1000 MS (Java/Others) Mem ...
- 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 ...