是什么导致 Sanctum 上的 /api/user 出现 return 401 Unauthenticated?
What is causing /api/user on Sanctum to return 401 Unauthenticated?
我的 API 在 api.domain.test
,我的 SPA 在 spa.domain.test
。
spa.domain.test
是 localhost:3000
运行 Next.js 服务器的代理。
api.domain.test
是代客提供的标准文件夹。
我是 运行 最新的 Laravel,我使用 --api
配置设置了 Breeze。
.env
APP_URL=https://api.domain.test
FRONTEND_URL=https://spa.domain.test
SESSION_DOMAIN=.domain.test
SESSION_DRIVER=file
对 sanctum/csrf
的请求有效。对 /login
的请求有效。但不是 /api/user
。 401.
我检查了 Chrome 网络,发现 Cookie 也在 Request Headers
中。还是。
我花了一天的时间才弄明白。任何帮助将不胜感激。谢谢。
确保您的域已添加到 config/sanctum 有状态 属性,如 .env 文件中的文档所示
sanctum config
'stateful' => explode(',', env('SANCTUM_STATEFUL_DOMAINS')),
不要忘记在编辑 .env 文件后缓存配置
php artisan config:cache
我的 API 在 api.domain.test
,我的 SPA 在 spa.domain.test
。
spa.domain.test
是 localhost:3000
运行 Next.js 服务器的代理。
api.domain.test
是代客提供的标准文件夹。
我是 运行 最新的 Laravel,我使用 --api
配置设置了 Breeze。
.env
APP_URL=https://api.domain.test
FRONTEND_URL=https://spa.domain.test
SESSION_DOMAIN=.domain.test
SESSION_DRIVER=file
对 sanctum/csrf
的请求有效。对 /login
的请求有效。但不是 /api/user
。 401.
我检查了 Chrome 网络,发现 Cookie 也在 Request Headers
中。还是。
我花了一天的时间才弄明白。任何帮助将不胜感激。谢谢。
确保您的域已添加到 config/sanctum 有状态 属性,如 .env 文件中的文档所示 sanctum config
'stateful' => explode(',', env('SANCTUM_STATEFUL_DOMAINS')),
不要忘记在编辑 .env 文件后缓存配置
php artisan config:cache