Laravel接收外部服务器POST数据:能否忽略指定路由CSRF验证?
问题解答
一、CSRF忽略配置是否生效
你的配置完全生效。Laravel的VerifyCsrfToken中间件中$except数组支持通配符*作为路径匹配规则,/sendgrid/api/*会匹配所有以/sendgrid/api开头的请求路径,刚好覆盖你配置的两个路由:
/sendgrid/api/sendgrid/api/Session
外部请求到这两个路由时会自动跳过CSRF验证,无需额外调整。
二、获取外部服务器发送的JSON数据
可以通过两种方式获取:
- 直接使用框架封装的JSON解析方法:
// 获取解析后的JSON对象(支持对象属性或数组下标访问) $eventData = request()->json(); // 示例:提取event字段值 $eventType = $eventData['event'];
- 获取原始JSON字符串后手动解码:
// 获取原始JSON内容 $rawJson = request()->getContent(); // 解码为关联数组(第二个参数传true返回数组,否则返回对象) $eventData = json_decode($rawJson, true); // 示例:提取email字段值 $email = $eventData['email'];
内容的提问来源于stack exchange,提问作者Varsha Rani
相关产品推荐
相关产品推荐

