登录时Nuxt Auth + Strapi使用了错误的请求URL

问题描述 投票:0回答:1

我正在尝试使用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
      }
    }
  }

Error Message

因此它具有以下URL:http://localhost:3000/localhost:3000/api/auth/local所以我的下一个想法是删除axios baseURL,这确实导致它成为http://localhost:3000/api/auth/local然后我意识到正确的URL是http://localhost:1337/api/auth/local但是我不知道如何设置它?有人可以帮忙吗?我已经在互联网上彻底搜索了一个没有运气的解决方案。

authentication axios nuxt.js strapi
1个回答
0
投票

在nuxt.config.json文件中,您需要将baseUrl设置为此:

 axios: {
   baseURL: 'http:localhost:1337/'
 },

以便您的登录请求像这样:http://localhost:1337/auth/local

© www.soinside.com 2019 - 2024. All rights reserved.