vue實(shí)現(xiàn)GitHub的第三方授權(quán)方法示例
最近在完善我的博客系統(tǒng),突然想到從原本臨時(shí)填寫 name + email 進(jìn)行評(píng)論改成使用GitHub授權(quán)登陸以發(fā)表評(píng)論。
廢話不多說,直接奔入主題
溫馨提示:本文章只滿足個(gè)人使用需求,如果需要學(xué)習(xí)更詳細(xì)的使用方法,可訪問 OAuth官方文檔。
創(chuàng)建OAuth Apps
首先,你需要一個(gè)GitHub賬戶然后前往GitHub developers,根據(jù)要求填寫完成之后,會(huì)自動(dòng)生成Client_ID和Client Secret,在之后的步驟中會(huì)用到。
獲取code
//method async githubLogin() { windows.location.href = "https://github.com/login/oauth/authorize?client_id = your_client_id&redirect_uri=your_redirect_uri" }
<a href="https://github.com/login/oauth/authorize?client_id = your_client_id&redirect_uri=your_redirect_uri">GitHub登陸</a>
路由參數(shù)中redirect_uri是可選的。如果省略,則GitHub將重定向到你在OAuth apps配置的回調(diào)路徑。如果提供,則你所填寫的redirect_uri必須是你在OAuth apps中配置的回調(diào)路徑的子路徑。如下:
CALLBACK: http://xx.com/github
GOOD: http://xx.com/github
GOOD: http://xx.com/github/path/path
BAD: http://xx.com/git
BAD: http://xxxxx.com/path
如果用戶接受你的請(qǐng)求,將會(huì)跳轉(zhuǎn)到redirect_uri,我們可以接受路由中的參數(shù)code,以進(jìn)行下一步操作。
your_redirect_uri?code=xxx
獲取access_token
我們需要client_id、client_secret和code來(lái)獲取access_token。
/* /githubAccessToken:https://github.com/login/oauth/access_token */ this.$axios .get('/githubAccessToken',{ params: { client_id: your_client_id, client_secret: your_client_secret, code: your_code } })
默認(rèn)情況下,你會(huì)獲取如下響應(yīng):
access_token=xxxxx&token_type=bearer
如果你想用更方便的格式接收響應(yīng),你可以在headers中自定義Accept:
Accept: "application/json" => {"access_token":xxxxx,"token_type":bearer}
獲取用戶信息
獲取access_token之后,我們就可以請(qǐng)求用戶的部分信息了:
/* /githubUserInfo:https://api.github.com/user */ this.$axios .get('/githubUserInfo', { headers: { "Content-Type": "application/x-www-form-urlencoded", Accept: "application/json", Authorization: `token ${access_token}` //必填 } })
然后你便可以獲取到用戶信息了。
到此這篇關(guān)于vue實(shí)現(xiàn)GitHub的第三方授權(quán)的文章就介紹到這了,更多相關(guān)vue實(shí)現(xiàn)GitHub的第三方授權(quán)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Vue通過Blob對(duì)象實(shí)現(xiàn)導(dǎo)出Excel功能示例代碼
這篇文章主要介紹了Vue通過Blob對(duì)象實(shí)現(xiàn)導(dǎo)出Excel功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07Vue-router結(jié)合transition實(shí)現(xiàn)app前進(jìn)后退動(dòng)畫切換效果的實(shí)例
下面小編就為大家?guī)?lái)一篇Vue-router結(jié)合transition實(shí)現(xiàn)app前進(jìn)后退動(dòng)畫切換效果的實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧2017-10-10vue3源碼剖析之簡(jiǎn)單實(shí)現(xiàn)方法
源碼的重要性相信不用再多說什么了吧,特別是用Vue 框架的,一般在面試的時(shí)候面試官多多少少都會(huì)考察源碼層面的內(nèi)容,下面這篇文章主要給大家介紹了關(guān)于vue3源碼剖析之簡(jiǎn)單實(shí)現(xiàn)的相關(guān)資料,需要的朋友可以參考下2021-09-09vue項(xiàng)目實(shí)例中用query傳參如何實(shí)現(xiàn)跳轉(zhuǎn)效果
這篇文章主要介紹了vue項(xiàng)目實(shí)例中用query傳參如何實(shí)現(xiàn)跳轉(zhuǎn)效果,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-10-10