【发布时间】:2021-02-18 06:01:09
【问题描述】:
我有linux的主题环境。我已经使用 EnsureFrontendRequestsAreStateful、.env 进行了 cors.conf、session.conf、kernel:api 的配置。我阅读的所有文档中都包含所有这些内容。 Laravel 在 localhost:8000 本地主机中的角度:4200
特别是:
内核.php:
'api' => [
\Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class,
'throttle:api',
...
cors.php
'paths' => [
'api/*',
'login',
'logout',
'sanctum/csrf-cookie'
],
'allowed_methods' => ['*'],
'allowed_origins' => ['*'],
'allowed_origins_patterns' => [],
'allowed_headers' => ['*'],
'exposed_headers' => [],
'max_age' => 0,
'supports_credentials' => true,
圣所.php
'stateful' => explode(',', env('SANCTUM_STATEFUL_DOMAINS', 'localhost:4200,localhost,localhost:8000,127.0.0.1,127.0.0.1:4200,127.0.0.1:8000')),
在.env中
SESSION_DOMAIN=.localhost
在 Angular 中,当我得到 csrf-cookie 响应时:
Bloccata Richiesta multiorigin (cross-origin): il criterio di corrispondenza dell'origine non consente la lettura della risorsa remota da http://localhost:8000/sanctum/csrf-cookie。动机:richiesta CORS non riuscita。
这是我的堆栈:
我哪里错了? 谢谢了。
【问题讨论】:
-
csrf-collie 请求加载正常,允许来源正确,登录返回什么?如果您无法检查其请求的详细信息,请在邮递员中查询并分享响应
-
是的,我知道,但只是返回的 cookie 没有保存在存储中,所以在登录请求中错过了 X-CSRF-COOKIE
-
你正在使用 withCredentials 所以技术上应该发送 cookie,至于在 API 中使用 cookie,我建议转移到 JWT 并使用 Laravel 的
api路由。向web路由发送请求是针对网页的。
标签: angular laravel api cors laravel-sanctum