我正在尝试获取当前用户的令牌以获取检索数据,如下所示:
async getUser() {
const config = {
headers: {
'Accept': 'application/json',
'Authorization': 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJ...'
}
}
await this.axios
.get("/api/auth/testapi", config)
.then((response) => {
this.user = response.data;
})
.catch((error) => {
console.log(error);
this.user = [];
});
},
如何设置“Authorization”头以自动获取已验证用户的当前令牌?
我尝试了本地存储,如下所示:
async getUser() {
const token = localStorage.getItem('access_token');
const config = {
headers: {
'Accept': 'application/json',
'Authorization': `Bearer ${token}`
}
}
await this.axios
.get("/api/auth/testapi", config)
.then((response) => {
this.user = response.data;
})
.catch((error) => {
console.log(error);
this.user = [];
});
},
但效果不太好
有什么问题吗?
最新消息:
app.js:
require("./src/main.js");
import VueAxios from "vue-axios";
import axios from "axios";
Vue.use(VueAxios, axios);
if (localStorage.has("access_token")) {
axios.defaults.headers.common["Authorization"] =
"Bearer " + localStorage.getItem("access_token");
}
loginSuccess(accessToken) {
localStorage.setItem('access_token', accessToken);
window.location.href = '/home';
}
if结束后出现问题
';' expected.
1条答案
按热度按时间cbeh67ev1#
我会怎么做
对于每个请求,在js文件(不是vue)上,如bootstrap.js文件(因为它将很快加载):
在登录功能上,当您登录用户并检索访问令牌时:
它会将用户重定向到您的主页或用户需要重定向到的任何页面,并且将在localStorage上设置access_token。
剩下的最后一位是在用户注销时删除localStorage
access_token
项,并可能使用拦截器捕获401,以删除access_token并在令牌到期时重定向到/login。如果您打算向不属于您的外部端点发出axios请求,您可能需要检查401的域以确保它是您的域