Laravel Sanctum SPA 身份验证 - 成功登录后未经身份验证

时间:2021-02-21 13:18:56

标签: laravel laravel-7

我有一个包含 Laravel 和 Vue.js 的应用程序,用于单独的文件夹,其中一个用于后端,另一个用于前端,我已经成功地按照 Laravel sanctum 文档配置了所有内容并保护了路由 API,我能够成功登录并注册但成功登录后,当我尝试获取经过身份验证的用户时,它向我显示“未经身份验证”。我使用 localhost 作为默认值。谁能给我一些建议

.env 文件我也设置了

SESSION_DRIVER=cookie
SESSION_DOMAIN=localhost
SANCTUM_STATEFUL_DOMAINS=localhost:8000

谢谢

1 个答案:

答案 0 :(得分:0)

不幸的是,我找到了解决方案

#localhost

SESSION_DRIVER=cookie
SANCTUM_STATEFUL_DOMAINS=localhost:8080,127.0.0.1:8080,localhost:3000,127.0.0.1:3000
SESSION_DOMAIN=localhost

localhost:8080 对于前端服务器,端口有时可能会发生变化,例如 localhost:8081 localhost:3000,因此请确保输入正确的 URL

#Live Server

SANCTUM_STATEFUL_DOMAINS=*.yourdomain.com
SESSION_DOMAIN=.yourdomain.com

我也发现有时我是对的,但 Laravel 缓存给了我错误的结果,所以你必须清理 Laravel 缓存和浏览器缓存。您可以按照以下代码在 web.php

中创建路由功能
Route::get('/clear', function() {

   Artisan::call('cache:clear');
   Artisan::call('config:clear');
   Artisan::call('config:cache');
   Artisan::call('view:clear');

   return "Cleared!";

});

希望它会起作用

谢谢