OAuth认证与授权
什么是OAuth授權(quán)?
一、什么是OAuth協(xié)議 OAuth(開放授權(quán))是一個開放標(biāo)準(zhǔn)。 允許第三方網(wǎng)站在用戶授權(quán)的前提下訪問在用戶在服務(wù)商那里存儲的各種信息。 而這種授權(quán)無需將用戶提供用戶名和密碼提供給該第三方網(wǎng)站。 OAuth允許用戶提供一個令牌給第三方網(wǎng)站,一個令牌對應(yīng)一個特定的第三方網(wǎng)站,同時該令牌只能在特定的時間內(nèi)訪問特定的資源。 二、OAuth的原理和授權(quán)流程 OAuth的認(rèn)證和授權(quán)的過程中涉及的三方包括: 服務(wù)商:用戶使用服務(wù)的提供方,一般用來存消息、儲照片、視頻、聯(lián)系人、文件等(比如Twitter、Sina微波等)。 用 ?戶:服務(wù)商的用戶 第三方:通常是網(wǎng)站,該網(wǎng)站想要訪問用戶存儲在服務(wù)商那里的信息。 比如某個提供照片打印服務(wù)的網(wǎng)站,用戶想在那里打印自己存在服務(wù)商那里的網(wǎng)絡(luò)相冊。 在認(rèn)證過程之前,第三方需要先向服務(wù)商申請第三方服務(wù)的唯一標(biāo)識。 OAuth認(rèn)證和授權(quán)的過程如下: 1、用戶訪問第三方網(wǎng)站網(wǎng)站,想對用戶存放在服務(wù)商的某些資源進(jìn)行操作。 2、第三方網(wǎng)站向服務(wù)商請求一個臨時令牌。 3、服務(wù)商驗(yàn)證第三方網(wǎng)站的身份后,授予一個臨時令牌。 4、第三方網(wǎng)站獲得臨時令牌后,將用戶導(dǎo)向至服務(wù)商的授權(quán)頁面請求用戶授權(quán),然后這個過程中將臨時令牌和第三方網(wǎng)站的返回地址發(fā)送給服務(wù)商。 5、用戶在服務(wù)商的授權(quán)頁面上輸入自己的用戶名和密碼,授權(quán)第三方網(wǎng)站訪問所相應(yīng)的資源。 6、授權(quán)成功后,服務(wù)商將用戶導(dǎo)向第三方網(wǎng)站的返回地址。 7、第三方網(wǎng)站根據(jù)臨時令牌從服務(wù)商那里獲取訪問令牌。 8、服務(wù)商根據(jù)令牌和用戶的授權(quán)情況授予第三方網(wǎng)站訪問令牌。 9、第三方網(wǎng)站使用獲取到的訪問令牌訪問存放在服務(wù)商的對應(yīng)的用戶資源。 三、目前支持OAuth的網(wǎng)站有哪些? t.sina.com.cn t.qq.com t.sohu.com t.163.com www.douban.com www.twitter.com www.facebook.com Google Buzz文件來源于:http://www.6zou.net/tech/what_is_oauth.html?
?
?
?
所謂OAuth(即Open Authorization,開放授權(quán)),它是為用戶資源授權(quán)提供了一種安全簡單的標(biāo)準(zhǔn),也就是說用戶在訪問第三方web或應(yīng)用的時候,第三方不會知道用戶的信息(登錄密碼等),現(xiàn)在基本都支持OAuth2.0版本了。
首先來看看我們在第三方使用oauth流程如下:
第一步:用戶登錄第三方網(wǎng)站,使用qq登錄。
第二步:點(diǎn)擊登錄后,會跳到qq平臺提示輸入用戶名和密碼。
第三步:如果用戶名和密碼正確,會提示是否接受授權(quán),如果授權(quán)成功,第三方網(wǎng)站就能訪問你的資源了,qq頭像、用戶名等
?
認(rèn)證和授權(quán)過程(包括三方)
?
1、服務(wù)提供方,用戶使用服務(wù)提供方來存儲受保護(hù)的資源,如照片,視頻,聯(lián)系人列表。
2、用戶,存放在服務(wù)提供方的受保護(hù)的資源的擁有者。
3、客戶端,要訪問服務(wù)提供方資源的第三方應(yīng)用,通常是網(wǎng)站。在認(rèn)證過程之前,客戶端要向服務(wù)提供者申請客戶端標(biāo)識。
?
?
? ? ? ?用戶訪問客戶端的網(wǎng)站,想操作用戶存放在服務(wù)提供方的資源。
客戶端向服務(wù)提供方請求一個臨時令牌。
服務(wù)提供方驗(yàn)證客戶端的身份后,授予一個臨時令牌。
客戶端獲得臨時令牌后,將用戶引導(dǎo)至服務(wù)提供方的授權(quán)頁面請求用戶授權(quán)。在這個過程中將臨時令牌和客戶端的回調(diào)連接發(fā)送給服務(wù)提供方。
用戶在服務(wù)提供方的網(wǎng)頁上輸入用戶名和密碼,然后授權(quán)該客戶端訪問所請求的資源。
授權(quán)成功后,服務(wù)提供方引導(dǎo)用戶返回客戶端的網(wǎng)頁,并返回已授權(quán)的臨時憑證。
客戶端根據(jù)已授權(quán)的臨時令牌從服務(wù)提供方那里獲取訪問令牌。
服務(wù)提供方根據(jù)臨時令牌和用戶的授權(quán)情況授予客戶端訪問令牌。
客戶端使用獲取的訪問令牌訪問該用戶存放在服務(wù)提供方上的受保護(hù)的資源。(客戶端只能訪問給予它授權(quán)的用戶的資源信息)
?轉(zhuǎn)自 :http://justcoding.iteye.com/blog/1950270
轉(zhuǎn)載于:https://www.cnblogs.com/cnmenglang/p/6297592.html
總結(jié)
以上是生活随笔為你收集整理的OAuth认证与授权的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: XCAP 协议
- 下一篇: 谷歌联合 Adobe 发布 Noto 字