vue實現(xiàn)GitHub的第三方授權方法示例
最近在完善我的博客系統(tǒng),突然想到從原本臨時填寫 name + email 進行評論改成使用GitHub授權登陸以發(fā)表評論。
廢話不多說,直接奔入主題
溫馨提示:本文章只滿足個人使用需求,如果需要學習更詳細的使用方法,可訪問 OAuth官方文檔。
創(chuàng)建OAuth Apps
首先,你需要一個GitHub賬戶然后前往GitHub developers,根據(jù)要求填寫完成之后,會自動生成Client_ID和Client Secret,在之后的步驟中會用到。
獲取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配置的回調路徑。如果提供,則你所填寫的redirect_uri必須是你在OAuth apps中配置的回調路徑的子路徑。如下:
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
如果用戶接受你的請求,將會跳轉到redirect_uri,我們可以接受路由中的參數(shù)code,以進行下一步操作。
your_redirect_uri?code=xxx
獲取access_token
我們需要client_id、client_secret和code來獲取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
}
})
默認情況下,你會獲取如下響應:
access_token=xxxxx&token_type=bearer
如果你想用更方便的格式接收響應,你可以在headers中自定義Accept:
Accept: "application/json"
=> {"access_token":xxxxx,"token_type":bearer}
獲取用戶信息
獲取access_token之后,我們就可以請求用戶的部分信息了:
/*
/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}` //必填
}
})
然后你便可以獲取到用戶信息了。
到此這篇關于vue實現(xiàn)GitHub的第三方授權的文章就介紹到這了,更多相關vue實現(xiàn)GitHub的第三方授權內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Vue通過Blob對象實現(xiàn)導出Excel功能示例代碼
這篇文章主要介紹了Vue通過Blob對象實現(xiàn)導出Excel功能,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-07-07
Vue-router結合transition實現(xiàn)app前進后退動畫切換效果的實例
下面小編就為大家?guī)硪黄猇ue-router結合transition實現(xiàn)app前進后退動畫切換效果的實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-10-10
vue項目實例中用query傳參如何實現(xiàn)跳轉效果
這篇文章主要介紹了vue項目實例中用query傳參如何實現(xiàn)跳轉效果,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-10-10

