vue访问后台laravel的api跨域问题

1. 运行环境

Ubuntu

1). 当前使用的 Laravel 版本?

10

2). 当前使用的 php/php-fpm 版本?

PHP 版本:8.3

3). 当前系统

Ubuntu

4). 业务环境

开发环境

5). 相关软件版本

Nginx laravel vue

2. 问题描述?

前端项目vue页面访问后台项目laravel的api,返回419;

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
最佳答案

把路由写在routes/api.php下而非routes/web.php下. 因为默认后者会有CSRF保护, 除非在Http/Middleware/VerifyCsrfToken.php中的protected $except = []中添加忽略.

10个月前 评论
你和那棵树是一伙的 (楼主) 10个月前
讨论数量: 35

你 laravel 路由定义在 web.php 里面了吧?应该在 api.php 里面

10个月前 评论
你和那棵树是一伙的 (楼主) 10个月前

/app/Http/Kernel.php,api路由中间件里将 \Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class 注释掉

10个月前 评论
你和那棵树是一伙的 (楼主) 10个月前

file 你是用的SPA认证吗,用token了吗?

10个月前 评论
你和那棵树是一伙的 (楼主) 10个月前
神的孩子丶都在跳舞 (作者) 10个月前
你和那棵树是一伙的 (楼主) 10个月前

kernel.php file

10个月前 评论
神的孩子丶都在跳舞 10个月前
你和那棵树是一伙的 (作者) (楼主) 10个月前

看看你的app/Http/Kernel.php里是不是给api也添加了 VerifyCsrfToken中间件

10个月前 评论
你和那棵树是一伙的 (楼主) 10个月前

这不是跨域,关闭csrf保护

10个月前 评论
你和那棵树是一伙的 (楼主) 10个月前

简单粗暴点就是nginx添加

    add_header 'Access-Control-Allow-Methods' 'GET,OPTIONS,PUT,DELETE' always;
    add_header 'Access-Control-Allow-Credentials' 'true' always;
    add_header 'Access-Control-Allow-Origin' '$http_origin' always;
    add_header 'Access-Control-Expose-Headers' 'Access-Token' always;
    add_header 'Access-Control-Allow-Headers' 'Authorization,DNT,User-Agent,Keep-Alive,Content-Type,accept,origin,X-Requested-With, Access-Token,Token,Device,backend,City,apiVersion' always;
10个月前 评论
你和那棵树是一伙的 (楼主) 10个月前

把路由写在routes/api.php下而非routes/web.php下. 因为默认后者会有CSRF保护, 除非在Http/Middleware/VerifyCsrfToken.php中的protected $except = []中添加忽略.

10个月前 评论
你和那棵树是一伙的 (楼主) 10个月前

其中一个错误是说:由于是在跨站上下文中,且“SameSite”值为“Lax”或“Strict”,已拒绝 Cookie “laravel_session”。但是后台的‘same_site’=>'none'设置没有lax、strict

10个月前 评论

api路由是没有csrf的 是不是用了其他路由

10个月前 评论
你和那棵树是一伙的 (楼主) 10个月前

419 是 csrf 的问题吧

10个月前 评论
你和那棵树是一伙的 (楼主) 10个月前
slowlyo
10个月前 评论
你和那棵树是一伙的 (楼主) 10个月前

如果是单独部署的前端项目,在nginx中重定向接口。。。 如果是前后端一起的,把vue的文件放到public即可

10个月前 评论
你和那棵树是一伙的 (楼主) 10个月前
芝麻开门 (作者) 10个月前
你和那棵树是一伙的 (楼主) 10个月前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!