首页 > 解决方案 > 在 Heroku 上使用 laravel sanctum 进行 Nuxt 身份验证

问题描述

我正在尝试在 Heroku 上使用 Laravel 作为 API 部署 NuxtJS 前端。一切都在本地工作,但是当我从 Heroku 上的 API 登录时,登录后的重定向不起作用。登录请求有效,我得到了令牌作为答案,但重定向不起作用。我注意到 CSRF Token cookienull在 Heroku 上。

有我的 nuxt.config.js

      auth: {
    strategies: {
      laravelSanctum: {
        provider: 'laravel/sanctum',
        url: 'https://***-api.herokuapp.com',
        endpoints: {
          login: {url: '/api/login'},
          logout: {url: '/api/logout'},
          user: {url: '/api/me'}
        },
        token: {
          property: 'token',
        },
        tokenRequired: true,
        tokenType: 'Bearer'
      }
    },
    redirect: {
      login: '/login',
      logout: '/',
      callback: '/login',
      home: '/'
    },
    localStorage: false
  },

在 Laravel 上,我VerifyCsrfToken.php是空的。

sanctum.php

'stateful' => explode(',', env('SANCTUM_STATEFUL_DOMAINS', sprintf(
        '%s%s',
        'localhost,localhost:3000,127.0.0.1,127.0.0.1:8000,::1',
        env('APP_URL') ? ','.parse_url(env('APP_URL'), PHP_URL_HOST) : ''
    ))),

cors.php

    "Accept"=>"application/json",

    'paths' => ['api/*', '/user', 'sanctum/csrf-cookie'],

    'allowed_methods' => ['*'],

    'allowed_origins' => ['*'],

    'allowed_origins_patterns' => [],

    'allowed_headers' => ['*'],

    'exposed_headers' => [],

    'max_age' => 0,

    'supports_credentials' => true,

标签: node.jslaravelherokunuxt.jslaravel-sanctum

解决方案


推荐阅读