在Vue中,headers設(shè)置token是非常重要的,它能夠確保只有合法的用戶可以訪問特定的API。使用headers設(shè)置token也非常方便,可以在請求中直接添加token,而不需要在每個請求中都手動添加token,提高了開發(fā)效率。
為了使用headers設(shè)置token,我們需要先在后端獲取token,然后將其保存在前端。一般來說,token會在登錄成功后返回給前端,并保存在Cookie或localStorage中。
// 獲取token
const token = localStorage.getItem('token');
// 添加headers設(shè)置token到每個請求中
axios.interceptors.request.use(
config =>{
if (token) {
config.headers.Authorization = `Bearer ${token}`;
}
return config;
},
error =>{
return Promise.reject(error);
}
);
上面的代碼演示了如何在每個請求中添加headers設(shè)置token。通過使用axios的攔截器,我們可以在請求發(fā)送之前對其進行修改,從而實現(xiàn)添加headers設(shè)置token。在設(shè)置headers時,我們將Authorization設(shè)置為Bearer ${token}。Bearer是一種常用的身份驗證方案,后面加上token即可完成headers設(shè)置token。
在設(shè)置headers設(shè)置token時,有一些需要注意的點:
- 要確保token存在且沒有過期
- 在設(shè)置headers前,要先判斷請求類型,一些請求可能不需要headers設(shè)置token
- 在headers設(shè)置token時,要使用Bearer方案并將token放在字符串的后面,中間有一個空格
除了使用攔截器之外,我們也可以在每個請求中手動添加headers設(shè)置token。下面是一個示例:
// 獲取token
const token = localStorage.getItem('token');
// 發(fā)送請求時手動添加headers設(shè)置token
axios.post('/api/user', {
headers: { Authorization: `Bearer ${token}` },
data: { name: 'Jack' }
}).then(res =>{
console.log(res);
});
上面的代碼演示了在發(fā)起POST請求時,手動添加headers設(shè)置token。同樣,我們使用Bearer方案并將token放在字符串的后面,中間有一個空格。
使用headers設(shè)置token可以有效地保護我們的API,僅允許合法用戶訪問。同時,使用攔截器或手動添加headers設(shè)置token也非常方便,不需要在每個請求中都手動添加token。