[英]Set bearer token after login
我已经使用 axois 设置了一个基本服务并在其中设置了一个不记名令牌,但是当它调用用户 API 时,我会因为null
令牌而获得未经授权的访问,但我已经在本地存储中设置了一个令牌
根据
import axios from "axios";
const baseURL = process.env.VUE_APP_BASE_API;
const token = localStorage.getItem('usertoken');
export default axios.create({
baseURL,
headers: {
'Content-Type' : 'application/json',
Authorization : 'Bearer '+token
},
})
在 login.vue
let res = await loginService.checkLogin(usrname,password)
this.loader = false
localStorage.setItem('usertoken',res.data.data.token)
对于用户
import baseService from "./baseService";
export default {
fetchUsers(){
return baseService.post( `${'user/get-all-users'}`,{
limit:1000
}).then(function(response){
return response
}).catch(function(error){
return error.response
})
},
export default axios.create({
baseURL,
headers: {
'Content-Type' : 'application/json',
'Authorization' : 'Bearer '+token
},
})
使用'Authorization'
。
或者你也可以使用
axios.defaults.headers.common['Authorization'] = 'Bearer '+token;
如果在文件开头设置了令牌变量,则它采用原始值。 因此,您的用户令牌不是反应性的,它没有从本地存储中获取新值。 我用我的应用程序做了这个来解决我遇到的同样的问题
import axios from "axios";
const baseURL = process.env.VUE_APP_BASE_API;
export default axios.create({
baseURL,
headers: {
'Content-Type' : 'application/json',
Authorization : 'Bearer '+localStorage.getItem('usertoken')
},
})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.