我正在尝试使用Nuxt Auth将用户登录到我的系统。该API由Strapi生成,我可以使用以下函数成功登录:
loginUser() {
axios
.post('http://localhost:1337/auth/local', {
identifier: this.login.email,
password: this.login.password,
})
.then(response => {
// Handle success.
console.log('Well done!');
console.log('User profile', response.data.user);
console.log('User token', response.data.jwt);
this.$router.push("/");
})
.catch(error => {
// Handle error.
console.log('An error occurred:', error);
});
}
但是我想使用Auth模块的“ loginWith”函数,因为这可以让我检查用户是否为“ loggedIn”。我遵循了本指南的每个字眼,但仍然遇到这个奇怪的错误。
指南= https://www.youtube.com/watch?v=zzUpO8tXoaw
这是我要使用的另一个功能:
loginUser() {
this.$auth.loginWith('local', { data: this.login })
}
如果我有以下axios代码,请在我的nuxt.config.json中:
axios: {
baseURL: 'http:localhost:3000/api'
},
以及以下身份验证策略:
nuxt.config.json:
auth: {
strategies: {
local: {
endpoints: {
login: { url: '/auth/local', method: 'post', propertyName: 'token' },
logout: { url: '/auth/logout', method: 'post' }
},
// tokenRequired: true,
// tokenType: 'bearer',
// globalToken: true,
// autoFetchUser: true
}
}
}
因此它具有以下URL:http://localhost:3000/localhost:3000/api/auth/local
所以我的下一个想法是删除axios baseURL,这确实导致它成为http://localhost:3000/api/auth/local
然后我意识到正确的URL是http://localhost:1337/api/auth/local
但是我不知道如何设置它?有人可以帮忙吗?我已经在互联网上彻底搜索了一个没有运气的解决方案。
在nuxt.config.json文件中,您需要将baseUrl设置为此:
axios: {
baseURL: 'http:localhost:1337/'
},
以便您的登录请求像这样:http://localhost:1337/auth/local