登录后未经身份验证的 Laravel sanctum SPA

时间:2021-07-19 17:13:08

标签: laravel nuxt.js laravel-sanctum

我正在尝试将 laravel Sanctum SPA 与我的 Nuxt 应用程序一起使用,但我遇到了一个问题。我遵循了所有步骤以使其正常工作。我能够成功登录并获取 XSRF 令牌,但是当我想在登录后检索实际登录的用户时,它返回 401 Unauthorized。在我所有的配置之下。我的 nuxt 应用程序在 http://localhost:3000 和 Laravel 上运行在 http://127.0.0.1:8000 上,使用 php artisan serve

.env:

SANCTUM_STATEFUL_DOMAINS=localhost:3000
SESSION_DOMAIN=localhost

内核.php

'api' => [
        EnsureFrontendRequestsAreStateful::class,
        'throttle:api',
        \Illuminate\Routing\Middleware\SubstituteBindings::class,
],

cors.php

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

路由/api.php

Route::middleware('auth:sanctum')->get('user', function (Request $request) {
    return $request->user();
});

Route::post('login', [AuthController::class, 'login']);

nuxt.config.js

axios: {
    credentials: true,
},
auth: {
    strategies: {
        'laravelSanctum': {
            provider: 'laravel/sanctum',
            url: 'http://localhost:8000',
            endpoints: {
                login: {
                    url: '/api/login',
                    method: 'post'
                },
                logout: {
                    url: '/api/logout',
                    method: 'get'
                },
                user: {
                    url: '/api/user',
                    method: 'get'
                }
            },
        },
    },
},

这里有没有人知道可能有什么问题或遗漏了什么?对所有解决方案开放:)。提前致谢!

0 个答案:

没有答案