黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

Google OAUTH + OpenID解決方案

系統(tǒng) 2289 0

【轉(zhuǎn)】Google OAUTH + OpenID解決方案

同系列文章,轉(zhuǎn)載自 Google OAUTH + OpenID解決方案 , 藍(lán)色字是我加的注解或是著重提示。

?

?????? 在前面已經(jīng)介紹過(guò)OAuth與OpenID,這兩種服務(wù),Google都實(shí)現(xiàn)了。我們可以通過(guò)Google OAuth服務(wù)為Google 用戶(hù)的資源進(jìn)行授權(quán),如用戶(hù)通過(guò)第三方軟件調(diào)用Google Open API操作用戶(hù)的資源時(shí),就需要用戶(hù)對(duì)第三方軟件授權(quán);通過(guò)Google OpenID服務(wù)可以打通Google與其他支持OpenID服務(wù)網(wǎng)站之間的用戶(hù)體系。現(xiàn)在假如有另外一個(gè)網(wǎng)站,也想開(kāi)放自己的Open API服務(wù),但是又不想實(shí)現(xiàn)OAuth服務(wù)(畢竟實(shí)現(xiàn)OAUTH服務(wù)還是需要一些成本的),那該怎么辦?它可不可以使用Google提供的OAuth服 務(wù),授權(quán)認(rèn)證交給Google來(lái)處理?可以!但是OAuth授權(quán)也是基于用戶(hù)登錄來(lái)實(shí)現(xiàn)的,Google OAuth用戶(hù)體系只是Google的用戶(hù)體系,那又怎么辦了?OpenID!對(duì),將網(wǎng)站的用戶(hù)體系與Google用戶(hù)體系打通,并且使用Google OAuth服務(wù)來(lái)實(shí)現(xiàn)授權(quán),即Google提出的OpenID + OAUTH的解決方案。

一、 OAUTH與OpenID

前面兩篇文章對(duì)OAUTH與OpenID均做過(guò)介紹,且Google均提供了這兩種服務(wù),在此我們先簡(jiǎn)要的回顧這兩種服務(wù),具體介紹請(qǐng)參見(jiàn)相關(guān)文章。

OAUTH是一種開(kāi)放的,基于用戶(hù)登錄的授權(quán)認(rèn)證方式。如當(dāng)用戶(hù)使用第三方軟件調(diào)用Google Open API去操作自己的Google服務(wù)資源時(shí),用戶(hù)就要先對(duì)該軟件授權(quán)。授權(quán)過(guò)程中,第三方軟件會(huì)引導(dǎo)用戶(hù)登錄Google,進(jìn)行用戶(hù)鑒權(quán),用戶(hù)通過(guò) Google身份鑒權(quán)后才能對(duì)第三方軟件授權(quán)。顯然,Google OAUTH只能對(duì)Google用戶(hù)進(jìn)行鑒權(quán),其他用戶(hù)體系的用戶(hù)不能直接鑒權(quán)。

OpenID是一種開(kāi)放的,去用戶(hù)中心的,用于打通各網(wǎng)站之間的用戶(hù)體系的服務(wù)。在支持OpenID的網(wǎng)站間,你可以使用任何一個(gè)網(wǎng)站的帳號(hào)或者 Open ID去登錄任何一個(gè)網(wǎng)站。OpenID提供了類(lèi)似單點(diǎn)登錄的用戶(hù)體驗(yàn),并且用戶(hù)無(wú)需在各個(gè)網(wǎng)站上注冊(cè)就可以使用該網(wǎng)站的資源,將用戶(hù)從繁重的帳號(hào)注冊(cè)與管 理工作中解脫出來(lái)。當(dāng)用戶(hù)使用OpenID登錄沒(méi)注冊(cè)的網(wǎng)站過(guò)程中,網(wǎng)站會(huì)引導(dǎo)用戶(hù)登錄OP(用戶(hù)OpenID注冊(cè)的網(wǎng)站),請(qǐng)求OP對(duì)用戶(hù)身份鑒權(quán),用 戶(hù)通過(guò)OP鑒權(quán),網(wǎng)站才會(huì)容許用戶(hù)登錄。

若將OpenID與Google OAUTH結(jié)合,OpenID將第三方網(wǎng)站的用戶(hù)體系與Google用戶(hù)體系打通后,第三方網(wǎng)站便可使用Google OAUTH服務(wù),對(duì)自己的用戶(hù)進(jìn)行授權(quán)!交互示意圖如下圖所示:

Google OAUTH + OpenID解決方案

二、 Google OAUTH + OpenID解決方案

Google提出了OpenID + OAUTH的解決方案,將兩者揉合在一起,具體流程如下圖所示:

Google OAUTH + OpenID解決方案

1. Web應(yīng)用請(qǐng)求用戶(hù)登錄;

2. 用戶(hù)選擇使用Google OpenID進(jìn)行登錄;

3. Web應(yīng)用請(qǐng)求發(fā)現(xiàn)Google認(rèn)證服務(wù)URL;

4. Google向Web應(yīng)用返回XRDS信息,其中包含Google認(rèn)證服務(wù)URL;

5. Web應(yīng)用請(qǐng)求用戶(hù)登錄Google服務(wù),通過(guò)請(qǐng)求用戶(hù)授權(quán);

6. Google引導(dǎo)用戶(hù)登錄;

7. 用戶(hù)輸入用戶(hù)名密碼進(jìn)行登錄,同時(shí)確認(rèn)是否對(duì)第三方軟件授權(quán);

8. Google認(rèn)證中心返回用戶(hù)ID與授權(quán)的Request Token給Web應(yīng)用;

9. 用戶(hù)可以訪問(wèn)受保護(hù)的資源,同時(shí)可以繼續(xù)第七部中Oauth認(rèn)證余下的環(huán)節(jié);

從上面的流程第五步可以看出,Google解決方案中,將OAUTH與OpenID的登錄操作合并在一起、并且在登錄的同時(shí)向Google發(fā)送 Oauth請(qǐng)求,請(qǐng)求用戶(hù)授權(quán)。這樣一來(lái),在第五步中,用戶(hù)登錄Google(OpenID中Google對(duì)用戶(hù)鑒權(quán)),同時(shí)請(qǐng)求對(duì)用戶(hù)授權(quán)(OAUTH 中對(duì)用戶(hù)授權(quán),同時(shí)無(wú)需再次登陸,因?yàn)榍懊鍻penID已經(jīng)登錄過(guò)了)。

三、Google OAUTH+OpenID Demo

Google提供了OAUTH + OpenID的DEMO,Demo演示地址如下: http://googlecodesamples.com/hybrid/

剛開(kāi)始,用戶(hù)既沒(méi)OpenID登錄也沒(méi)OAUTH授權(quán),如下圖所示:

Google OAUTH + OpenID解決方案

接著,點(diǎn)擊上圖中l(wèi)ogin按鈕請(qǐng)求以Google提供的OpenID登錄,如下圖所示:

Google OAUTH + OpenID解決方案

輸入用戶(hù)名與密碼登錄后,Google提醒您即將登陸到外部網(wǎng)站,外部網(wǎng)站申請(qǐng)對(duì)您的資源進(jìn)行授權(quán),您是否同意,如下圖所示:

Google OAUTH + OpenID解決方案

點(diǎn)擊繼續(xù)登錄后,登錄成功,并且返回授權(quán)的Token,如下圖所示:

Google OAUTH + OpenID解決方案

?

參見(jiàn):

http://ig2net.info/archives/765.html

http://ig2net.info/archives/496.html

Google OAUTH + OpenID解決方案


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論