如果我有一个 url: <host>/login/?token=<valid_backend_token>
,那么我的后端生成valid_backend_token
的身份验证令牌在哪里。使用这个令牌,我几乎可以为我的用例做任何我想做的事情(包括获取用户配置文件等)。有没有办法可以使用此令牌在 Nuxt 中对用户进行身份验证?
目前,我尝试过这样的事情:
mounted() {
if (this.$route.query.token) {
this.$axios
.get("/profile/", {
headers: {
Authorization: "Token " + this.$route.query.token,
},
})
.then((resp) => {
this.$axios.setToken(this.$route.query.token, "Token");
this.$auth.setUser(resp.data);
this.$router.push("/");
});
}
},
当然,这不会验证我的用户(因为$auth.loggedIn
是假的)。$auth.user
当然设置,我可以访问配置文件页面(如果我禁用auth
中间件)。除了$auth.loggedIn
错误之外,我$this.axios.get/put/etc.
还会抛出错误(即使在我的情况下不需要刷新令牌并且我已经设置了它):
ExpiredAuthSessionError:令牌和刷新令牌都已过期。您的请求已中止。
我怎样才能使这个身份验证工作?