JWT是一種用于身份驗(yàn)證的流行的開放標(biāo)準(zhǔn)。許多現(xiàn)代Web應(yīng)用程序使用JWT來保護(hù)其資源。
VUE是一個(gè)流行的JavaScript框架,用于開發(fā)SPA(單頁應(yīng)用程序)。在開發(fā)Vue應(yīng)用程序期間,您可能希望使用JWT進(jìn)行身份驗(yàn)證。
// 安裝vue-jwt-decode npm install vue-jwt-decode --save
首先,您需要從服務(wù)器注冊(cè)用戶并獲得JWT令牌。使用HTTP請(qǐng)求中間件,您可以輕松地將令牌添加到每個(gè)請(qǐng)求中。
// 在Vue.js中設(shè)置JWT頭 export const HTTP = axios.create({ baseURL: 'http://localhost:3000/api', headers: { Authorization: 'Bearer ' + localStorage.getItem('token') } });
接下來,將JWT令牌保存在瀏覽器的本地存儲(chǔ)中。要存儲(chǔ)令牌,請(qǐng)使用適當(dāng)?shù)腍TTP請(qǐng)求進(jìn)行身份驗(yàn)證,然后將令牌存儲(chǔ)在本地存儲(chǔ)中。
// 身份驗(yàn)證和本地存儲(chǔ)JWT令牌 export function signIn(credentials) { return HTTP.post('/auth/signin', credentials).then(response =>{ localStorage.setItem('token', response.data.token); return response.data.user; }); }
最后,在Vue組件中,您可以檢查令牌是否存在,并根據(jù)需要顯示用戶特定的內(nèi)容。
// 檢查JWT令牌示例 computed: { isAuthenticated() { return !!localStorage.getItem('token') } }
總之,在Vue應(yīng)用程序中使用JWT進(jìn)行身份驗(yàn)證非常簡單。只需要使用HTTP請(qǐng)求攔截器,添加JWT令牌并將其存儲(chǔ)在瀏覽器的本地存儲(chǔ)中。然后,在Vue組件中,您可以輕松地檢查令牌是否存在,以顯示用戶特定的內(nèi)容。