Vue專案怎麼接入OAuth2 0

2022-08-24 21:45:12 字數 1468 閱讀 4203

1. 對接環境配置

專案的配置檔案放置於路徑:src/config/config.js

具體配置:

var config=

export default config;

2. 使用者登入並獲取access_token

登入,配置客戶端資訊並重定向到認證位址,等待使用者授權。

login:function (vue) ))

window.location.href = authorurl;

} 其中幾個引數的含義:

response_type:表示授權型別,必選項,此處的值固定為"code"

client_id:表示客戶端的id,必選項

redirect_uri:表示重定向uri,可選項

scope:表示申請的許可權範圍,可選項

state:表示客戶端的當前狀態,可以指定任意值,認證伺服器會原封不動地返回這個值。

這一步的目的是取得使用者的授權並得到授權碼,授權碼將用於取得access_token。

如果配置了引數中的redirect_uri,取得授權碼之後認證伺服器將會重定向到該位址。

2.使用者完成授權,取得授權碼,我們將攜帶授權碼和配置相關資訊向認證伺服器申請access_token

mounted:function ()

**取得兩個引數的作用:

code:表示授權碼,必選項。該碼的有效期應該很短,通常設為10分鐘,客戶端只能使用該碼一次,否則會被授權伺服器拒絕。該碼與客戶端id和重定向uri,是一一對應關係。

state:如果客戶端的請求中包含這個引數,認證伺服器的回應也必須一模一樣包含這個引數。

gettoken:function(),function (error) );

}gettokenfromservice:function (vue,code,callback,error) ,)

.then(callback)

.catch(error);

} grant_type:表示使用的授權模式,必選項,此處的值固定為"authorization_code"。

redirect_uri:表示重定向uri,必選項,且必須與a步驟中的該引數值保持一致。

client_id:表示客戶端id,必選項。

這裡獲取了access_token作為身份憑證,需要我們儲存起來,可以儲存在cookie中,也可以選擇其他方式,在後續訪問資源伺服器呼叫資源的時候需要攜帶access_token訪問。

獲取使用者的身份資訊是將認證伺服器作為資源伺服器看待,攜帶身份憑證access_token請求資源,資源伺服器將通過認證伺服器檢測身份憑證的有效性作出相應回覆。對於前段我們的做法如下:

getuserinfo:function () )

.then((response) =>)

.catch((error) =>);

}

Vue使用OAuth2簡化模式登入

oauth2是乙個基於令牌的安全框架,主要使用在第三方認證登入場景,關於oauth2的相關知識可以參考 理解oauth 2.0,這裡暫不詳細介紹。這裡簡單介紹一下簡化模式,簡化模式,可以通過客戶端名稱和乙個redirect uri,訪問認證伺服器,認證伺服器認證之後,直接返回乙個令牌,該令牌會在re...

史上 最快Oauth2學習教程 認證及接入

用oauth2接入許可權系統的朋友越來越多,而且通用性比較好,這裡為了讓大家能夠快速地進行學習和使用,特提供教程乙份。spring boot 2.2.0.m5 spring cloud hoxton.m2 spring cloud oauth2 2.2.0.m2 springboot org.spr...

OAuth2協議簡介

例如我在qq上有很多的,分別儲存在不同的資料夾中,現在有乙個第三方登入需要訪問我的其中某乙個檔案時ru我需要怎麼做呢?如果我直接將我qq的賬號 密碼直接給第三方應用,那它就可以訪問我的全部,但是有的我是不想給他的!而且如果我只是想讓他訪問一段時間,過了這個時間之後,我就不想讓第三方訪問了,這個時候那...