本文以github第三方登錄為例,詳細(xì)介紹oAuth 2.0登錄過(guò)程。
注冊(cè)github賬號(hào),登錄后在個(gè)人信息頁(yè)面一次點(diǎn)擊Applications>Developer applications>Register a new application彈出如下界面

前三項(xiàng)就依據(jù)個(gè)人應(yīng)用添加 ? ? ?最后callback URL 就是回調(diào)的地址了 ? 添加對(duì)應(yīng)平臺(tái)的接口 ?github允許填寫(xiě)本地連接地址(開(kāi)發(fā)中直接填http://127.0.0.1:8080/xxx/xxx?這個(gè)地址要和授權(quán)的時(shí)候的傳入的地址參數(shù)一致 否則授權(quán)失?。?/p>
注冊(cè)之后 會(huì)得到 ?github提供的client id 和client secret 有了這兩個(gè)東東就可以換取更多的信息了
流程圖說(shuō)明:
1、用戶點(diǎn)擊github登錄本地應(yīng)用引導(dǎo)用戶跳轉(zhuǎn)到第三方授權(quán)頁(yè)這里就不拐歪了 跳轉(zhuǎn)地址為:
https://github.com/login/oauth/authorize?client_id=xxxxx&state=xxx&redirect_uri=xxxx
參數(shù)說(shuō)明 ?:client_id ?就不說(shuō)是啥了吧 ? redirect_uri:就是上面剛剛填的啦 ? state:隨機(jī)字符串(授權(quán)成功會(huì)原樣返回)
2 、授權(quán)成功后會(huì)回調(diào)我們平臺(tái),響應(yīng)信息中會(huì)帶code其他參數(shù)不理他了哈哈,我們帶著這個(gè)code再次訪問(wèn)github 地址:
https://github.com/login/oauth/access_token?client_id=xxxx&client_secret=xxx&code=xxx&redirect_uri=xxxx
參數(shù)不解釋了(每個(gè)具體代表什么意義可參考官方文檔https://developer.github.com/apps/building-oauth-apps/authorization-options-for-oauth-apps/),這次會(huì)得到響應(yīng)的access_token
3、成功獲取access_token后用這玩意再去換取用戶信息 地址:
https://api.github.com/user?access_token=xxx
之后我們就能得到用戶信息了,接下來(lái)就可以做想做的事情了
其他平臺(tái)思路都一樣了
