溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

利用vue實現(xiàn)第三方登錄微博的方法

發(fā)布時間:2020-11-05 15:11:56 來源:億速云 閱讀:415 作者:Leah 欄目:開發(fā)技術(shù)

這期內(nèi)容當中小編將會給大家?guī)碛嘘P(guān)利用vue實現(xiàn)微博第三方登錄的方法,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

1.微博三方登錄流程

利用vue實現(xiàn)第三方登錄微博的方法

1.1 前端獲取認證code

  1.在Vue頁面加載時 動態(tài)發(fā)送請求獲取微博授權(quán)url

  2.django收到請求的url后,通過微博 應(yīng)用ID(client_id)和回調(diào)地址(redirect_uri) 動態(tài) 生成授權(quán)url返回給Vue

  3.當用戶點擊上面的url進行掃碼,授權(quán)成功會 跳轉(zhuǎn)我們的回調(diào)界面并附加code參數(shù)  

  4.Vue獲取到微博返回的code后,會 將code發(fā)送給django后端 (上面的redirect_uri)

1.2 獲取微博access_token

  后端獲取code后,結(jié)合client_id、client_secret、redirect_uri參數(shù)進行傳遞,獲取微博access_token

1.3 獲取微博用戶基本信息并保存到數(shù)據(jù)庫

使用獲得的access_token調(diào)用獲取用戶基本信息的接口, 獲取用戶第三方平臺的基本信息

用戶基本信息 保存到數(shù)據(jù)庫,然后關(guān)聯(lián)本地用戶 ,然后將用戶信息返回給前端

1.4 生成token給Vue

django后端借助微博認證成功后,可以 使用JWT生成token ,返回給Vue

Vue將token存儲到localStorage中 ,以便用戶訪問其他頁面進行身份驗證

2.第三方登錄與本地登錄的關(guān)聯(lián)(三種情況)

2.1 情況1: 本地未登錄,第一次登錄第三方

此時相當于注冊,直接把第三方信息拉取來并注冊成本地用戶就可以了,并建立本地用戶與第三方用戶
(openid)的綁定關(guān)系

2.2 情況2:本地未登錄,再次登錄第三方

此時用戶已注冊,獲取到openid后直接找出對應(yīng)的本地用戶即可

2.3 情況3:本地登錄,并綁定第三方

這個只要將獲取到的openid綁定到本地用戶就可以了

3.oauth認證原理

OAuth是一個開放標準,允許用戶讓第三方應(yīng)用訪問該用戶在某一網(wǎng)站上存儲的私密的資源,而無需將用戶名和密碼提供給第三方應(yīng)用。

OAuth允許用戶提供一個令牌,而不是用戶名和密碼來訪問他們存放在特定服務(wù)提供者的數(shù)據(jù)。這個code如果能出三方換取到數(shù)據(jù)就證明這個用戶是三方真實的用戶

4.為什么使用三方登錄

服務(wù)方希望用戶注冊, 而用戶懶得填注冊時的各種信息(主要是為了保證用戶的唯一性,各種用戶名已占用,密碼格式限制).

而像微信, QQ, 微博等幾乎每個人都會安裝的應(yīng)用中用戶肯定會在其中某一個應(yīng)用中已經(jīng)注冊過,證明該用戶在已經(jīng)注冊的應(yīng)用中的唯一性.

第三方登錄的實質(zhì)就是在授權(quán)時獲得第三方應(yīng)用提供的代表了用戶在第三方應(yīng)用中的唯一性的openid.并將openid儲存在第三方服務(wù)控制的本地儲存.

上述就是小編為大家分享的利用vue實現(xiàn)微博第三方登錄的方法了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI