Nuxt Auth 登录 - 在服务器上的本地主机、301 和 405 上工作

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

我的问题是,登录/注销在我的本地主机上完美运行,但是当我将其部署到服务器上时,我收到 301 和 405 错误,并显示“此路由不支持 GET 方法。支持的方法:POST”消息,我不明白为什么会这样。

我的 nuxt.config.js:

  },
  auth: {
    strategies: {
      local: {
        user: {
          property: 'data'
        },
        token: {
          maxAge: 86400,
          global: true
        },
        endpoints: {
            login: { url: '/api/auth/login/', method: 'post' },
            logout: { url: '/api/auth/logout/', method: 'post' },
            user: { url: '/api/auth/user/', method: 'get' }
        }
      },
    }
  },
  build: {

我的登录方式:

    async login() {
      this.errors = {};
      try {
          await this.$auth.loginWith('local', { data: this.loginForm });
          ...
      } catch (error) {
          if (error.response.status === 401) {
              this.inactive = error.response.data.message;
          }
          this.errors = error?.response?.data?.errors;
      }
    },

我的 Laravel api.php:

Route::group(['prefix' => 'auth'], function () {
  Route::post('login/', [AuthController::class, 'login']);
  Route::post('register', [AuthController::class, 'register']);
  Route::post('set-password', [AuthController::class, 'setPassword']);

  Route::group(['middleware' => ['auth:sanctum']], function () {
    Route::get('user/', [AuthController::class, 'user']);
    Route::post('logout/', [AuthController::class, 'logout']);
    Route::post('password-reset', [AuthController::class, 'passwordReset']);
  });
});

我将从浏览器附加我的网络选项卡(第一个位于本地主机/工作中,第二个位于服务器上/不工作):

enter image description here

enter image description here

我不知道我搞砸了什么,但经过几天的调试后我已经绝望了。我已经清空了后端所有可能的缓存,所以我认为这不是问题。但希望其他人比我聪明得多,可以告诉我发生了什么事。

vue.js authentication nuxt.js nuxt-auth
1个回答
0
投票

其实我已经解决了。 Laravel 处理 / 结尾的方式很糟糕(尝试重定向),因此从身份验证端点中删除它可以解决所有问题。

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