成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

OAuth2 學(xué)習(xí)筆記

用戶83 / 2294人閱讀

摘要:而在這背后則是建立在基礎(chǔ)之上。簡(jiǎn)化模式的授權(quán)許可簡(jiǎn)化模式的授權(quán)更加適用于移動(dòng)端的以及應(yīng)用,因?yàn)樗麄兊陌踩圆⒉荒軌虻玫奖WC。除此之外,服務(wù)也不會(huì)對(duì)應(yīng)用的做唯一性表示驗(yàn)證,依賴回調(diào)的地址。

在日常的網(wǎng)站中,我們經(jīng)常會(huì)看見一些來(lái)自社交網(wǎng)站的登錄按鈕,類似使用facebook,twitter登錄等。而在這背后則是建立在OAuth基礎(chǔ)之上。OAuth2是一套提供授權(quán)功能的框架,通過(guò)它我們可以使第三方站點(diǎn)獲取到我們的用戶授權(quán),就像可以拿到facebook 或者微博的用戶昵稱和頭像。OAuth2 提供了包括桌面,web以及移動(dòng)端應(yīng)用的授權(quán)功能。

授權(quán)角色

授權(quán)一般會(huì)定義下面四種身份:

用戶

客戶端

資源服務(wù)器

授權(quán)服務(wù)器

用戶

我們通常定義資源的所有者(Resource Owner)即是我們的用戶,是他們?cè)试S這些應(yīng)用去訪問他們自己的賬戶信息。當(dāng)然這些應(yīng)用所能訪問的權(quán)限是有限的,它被限制在一個(gè)受保護(hù)的作用域內(nèi)(比如只能讀取信息,當(dāng)然這取決于我們自己的設(shè)計(jì)).

授權(quán)服務(wù)器和接口服務(wù)

用戶請(qǐng)求授權(quán)服務(wù)后成功后,會(huì)返回一個(gè)aceess token給應(yīng)用,這樣應(yīng)用再訪問其他接口服務(wù)時(shí)候都需要這個(gè)憑證.

客戶端應(yīng)用

客戶端應(yīng)用既是用戶當(dāng)前所用的這個(gè)產(chǎn)品了。它通過(guò)它用戶授權(quán)成功后,可以對(duì)用戶的一些信息進(jìn)行訪問或者修改,但無(wú)論如何,再請(qǐng)求用戶信息的時(shí)候,我們的api和授權(quán)服務(wù)必須對(duì)它進(jìn)行合法性驗(yàn)證。

授權(quán)流程

應(yīng)用注冊(cè)

使用授權(quán)之前,你必須讓這些客戶端應(yīng)用登記在案,你需要它提供一些基本的信息名稱比如,應(yīng)用名稱,網(wǎng)站地址,回調(diào)地址等等。其中回調(diào)地址既是用戶完成授權(quán)后跳向的地址,在那里應(yīng)用能夠處理我們返回的授權(quán)代碼以及access tokens.

Cient ID 以及 Client Secret

當(dāng)應(yīng)用注冊(cè)完成后,我們會(huì)頒布給應(yīng)用一個(gè)授權(quán)證書,里面大致記錄了客戶端的唯一識(shí)別(client identifier)和客戶端的安全碼(client secret).
Client ID 是一串暴漏的字符串,用戶構(gòu)建訪問的url以及用于服務(wù)器的驗(yàn)證。Client Secret則被用來(lái)認(rèn)證應(yīng)用的唯一性,從而保證應(yīng)用和api服務(wù)的私秘性。

授權(quán)許可

在前面的流程中,第一步使是獲取授權(quán)許可和acess token.授權(quán)許可的類型取決于用戶的請(qǐng)求類型。OAuth 2 定義了下面的四種許可類型,它們?cè)囉糜诓煌樾巍?/p>

授權(quán)碼,常用于服務(wù)端;

簡(jiǎn)化模式,常用于移動(dòng)設(shè)備上;

用戶密碼驗(yàn)證,常用于哪些比較信任的服務(wù),比如團(tuán)隊(duì)內(nèi)的項(xiàng)目;

客戶端驗(yàn)證,用于應(yīng)用api訪問;

授權(quán)碼

目前大多數(shù)服務(wù)端的app授權(quán)都適用此方式,它會(huì)維護(hù)一個(gè) client secret。應(yīng)用通過(guò)客戶端(比如瀏覽器)去獲取API的授權(quán)碼;

1.用戶會(huì)收到一個(gè)授權(quán)的url,里面大概會(huì)帶上一些基本信息,比如

client_id(應(yīng)用id),redirect_uri(回調(diào)的地址),response_type(許可類型,類似response_type=code)等

2.用戶授權(quán)應(yīng)用,點(diǎn)擊鏈接,用戶會(huì)進(jìn)入授權(quán)的界面,會(huì)需要用戶確認(rèn)接受活著拒絕該應(yīng)用的授權(quán)請(qǐng)求。

3.如果用戶點(diǎn)擊了確認(rèn)授權(quán)會(huì)掉轉(zhuǎn)到回調(diào)的url,然后帶上授權(quán)碼。

http://yousite.com?code=AUTHORIZATION_CODE

4.應(yīng)用獲取access_token,應(yīng)用會(huì)請(qǐng)求某個(gè)api獲取用于訪問接口的access_token。

5.應(yīng)用會(huì)接受到接口的響應(yīng),獲取到access_token,有些應(yīng)用還會(huì)帶上refresh_token。

當(dāng)然拿到access_token后,應(yīng)用就有權(quán)限去訪問開放的一些接口,如果接口過(guò)期了,則需要重新授權(quán)。如果
返回了帶有refresh_token,則通過(guò)refresh_token可以請(qǐng)求一個(gè)新的則需要重新獲取新的access_token。

簡(jiǎn)化模式的授權(quán)許可

簡(jiǎn)化模式的授權(quán)更加適用于移動(dòng)端的App以及Web應(yīng)用,因?yàn)樗麄兊陌踩圆⒉荒軌虻玫奖WC。同樣的也是一個(gè)簡(jiǎn)單的流程,
只是access_token直接返回給客戶端,這樣access_token會(huì)直接暴露給用戶,以及設(shè)備上的其他應(yīng)用。除此之外,服務(wù)也不會(huì)對(duì)
應(yīng)用的做唯一性表示驗(yàn)證,依賴回調(diào)的地址。

簡(jiǎn)化模式的授權(quán)不支持 refresh_token!

應(yīng)用首先會(huì)通過(guò)一個(gè)鏈接去請(qǐng)求token;

用戶點(diǎn)擊鏈接后會(huì)跳轉(zhuǎn)到授權(quán)的界面,詢問用戶許可;

用戶許可后會(huì)直接帶上access_token條會(huì)到原地址類似下面:

http://yoursite.com?access_token=ACCESS_TOKEN

客戶端會(huì)將帶過(guò)來(lái)的token保存起來(lái),比如localstorage,cookie;

應(yīng)用請(qǐng)求其他的api則都會(huì)帶上這個(gè)access_token了。

用戶密碼驗(yàn)證的形式

這個(gè)形式就是直接將用戶賬戶和密碼拿到后去訪問服務(wù),然后拿到access_token,一般這種模式只用于自己的信任的服務(wù),

比如自己家的產(chǎn)品或者桌面應(yīng)用等。

應(yīng)用在拿到用戶的密碼會(huì)請(qǐng)求一個(gè)地址帶上這些數(shù)據(jù)

http://oauth.api.xxxx.com?username=USERNAME&password=PASSWORD&clientID=1232112

驗(yàn)證成功后,授權(quán)服務(wù)會(huì)返回一個(gè)access_token,那么現(xiàn)在這個(gè)應(yīng)用就算授權(quán)成功。

客戶端驗(yàn)證

客戶端驗(yàn)證主要是提供一個(gè)方式讓應(yīng)用去訪問自己的服務(wù)賬號(hào),去更新一些描述信息或者回調(diào)地址等。通過(guò)請(qǐng)求一個(gè)地址帶上自己的信任然后去取得一個(gè)access_token.

refresh_token的使用

一般access_token都有個(gè)時(shí)間期限,過(guò)期了,訪問其他服務(wù)則會(huì)受限制,這個(gè)時(shí)候有的會(huì)提供一個(gè)獲取新token的接口,你只需帶上refresh_token
以及客戶端的其他信息。

擴(kuò)展閱讀

理解OAuth 2.0

An Introduction to OAuth 2

The OAuth 2.0 Authorization Framework

hello.js

Thanks ! 圖片設(shè)計(jì)來(lái)源于Digital Ocean

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/21580.html

相關(guān)文章

  • 說(shuō)說(shuō)微信掃碼登錄

    摘要:詳情接口我們這里主要講的是網(wǎng)站應(yīng)用,網(wǎng)站應(yīng)用微信登錄是基于協(xié)議標(biāo)準(zhǔn)構(gòu)建的微信授權(quán)登錄系統(tǒng)即上面的協(xié)議。在微信客戶端授權(quán)登錄獲取用戶信息的可以查看。微信授權(quán)登錄目前支持模式,適用于擁有端的應(yīng)用授權(quán)。 一、OAuth2.0 OAuth(開放授權(quán))是一個(gè)開放標(biāo)準(zhǔn),允許用戶讓第三方應(yīng)用訪問該用戶在某一網(wǎng)站上存儲(chǔ)的私密的資源(如照片,視頻,聯(lián)系人列表),而無(wú)需將用戶名和密碼提供給第三方應(yīng)用。 ...

    Jokcy 評(píng)論0 收藏0
  • 簡(jiǎn)單學(xué)習(xí)使用oAuth2方式進(jìn)行三方登錄

    摘要:登錄方式本來(lái)公司項(xiàng)目是正常的用戶名密碼登錄,但是突然轉(zhuǎn)換成了第三方方式登錄,由此開始學(xué)習(xí)了該種登錄形式。同普通的用戶名密碼登錄不同,登錄方式中,增加了一個(gè)授權(quán)層。至此,三方登錄已經(jīng)成功登錄。 oAuth2 登錄方式 本來(lái)公司項(xiàng)目是正常的用戶名、密碼登錄,但是突然轉(zhuǎn)換成了第三方oAuth2方式登錄,由此開始學(xué)習(xí)了該種登錄形式。 思路 共有5種授權(quán)模式,有授權(quán)碼模式、簡(jiǎn)化模式、密碼模式、客...

    anquan 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<