Perfexcrm API调用返回419状态码(Page Expired)如何解决?
Perfexcrm API调用返回419 Page Expired解决方案
Perfexcrm基于Laravel框架开发,返回419状态码本质是CSRF令牌校验未通过,可按以下步骤逐一排查解决:
- 修正请求方法:获取客户列表的
api/customers接口默认使用GET方法,你当前使用的POST方法是创建客户的专用方法,方法不匹配会触发Web路由的CSRF校验逻辑直接返回419。将请求方法改为GET,查询参数直接放在URL后即可,不需要放到form-data里。 - 校验认证头格式:请求头必须填写
Authorization: Bearer <你的API令牌>,不要遗漏Bearer前缀,也不要写错Authorization字段名,令牌前后不能有多余空格。同时确认你使用的API令牌已经开启了客户资源的访问权限。 - 配置CSRF排除规则:如果业务场景必须使用POST方法请求该接口,需要修改Perfexcrm的CSRF校验配置,在
app/Http/Middleware/VerifyCsrfToken.php文件的$except数组中添加api/*规则,让所有API路由跳过CSRF校验。 - 添加Accept请求头:在请求头中新增
Accept: application/json,明确告知后端返回JSON格式响应,避免触发Web页面的过期校验逻辑。 - 确认令牌有效性:重新在后台生成新的API令牌测试,排除令牌过期、权限配置错误的问题。
内容的提问来源于stack exchange,提问作者Nirali Vachhani
相关产品推荐
相关产品推荐

