欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

vue 實現基于 token

錢浩然2年前8瀏覽0評論

在前端開發中實現基于 token 的身份驗證是相當常見的操作,而借助 Vue 這一前端框架,我們可以非常方便地實現這樣的功能。下面將詳細介紹 Vue 實現基于 token 的流程和具體步驟。

第一步是在登錄操作中獲取 token。在 Vue 中發送登錄請求后,服務器會返回一個 token,我們可以將其保存在瀏覽器的 localStorage 中。代碼如下:

// 發送登錄請求
axios.post('/user/login', {
username: this.username,
password: this.password
}).then(res =>{
// 登錄成功后保存 token
localStorage.setItem('token', res.data.token)
})

第二步是在每次請求中攜帶 token。在 Vue 中發送請求時,可以通過 axios 攔截器實現自動攜帶 token。代碼如下:

// 創建 axios 實例
const instance = axios.create({
timeout: 5000
})
// 添加請求攔截器
instance.interceptors.request.use(config =>{
// 從 localStorage 中獲取 token 并添加到請求 header 中
const token = localStorage.getItem('token')
if (token) {
config.headers.Authorization = `Bearer ${token}`
}
return config
}, error =>{
return Promise.reject(error)
})
// 發送請求
instance.get('/api/data').then(res =>{
// 處理返回數據
})

第三步是在服務器端進行 token 校驗。在服務器端對需要進行身份驗證的接口進行 token 校驗,確保當前請求攜帶了有效的 token。代碼如下:

// 進行 token 校驗
app.use('/api', (req, res, next) =>{
// 獲取 header 中的 token
const token = req.headers.authorization.split(' ')[1]
// 驗證 token 是否合法
jwt.verify(token, 'secret', (err, decoded) =>{
if (err) {
res.status(401).json({
error: 'Unauthorized'
})
} else {
next()
}
})
})
// 返回需要進行身份驗證的數據
app.get('/api/data', (req, res) =>{
res.send('protected data')
})

以上是在 Vue 中實現基于 token 的身份驗證的完整流程。需要注意的是,在實際開發中,應該將 token 存儲在 HttpOnly 的 Cookie 中來提高安全性。