迁移服务器后Vue+Laravel Passport认证失效问题求助
问题排查方案
1. 核对前端请求参数
检查Vue发送的认证请求中,是否正确传递了username字段,而非默认的email。可以通过浏览器开发者工具的Network面板查看请求体,确认参数名和后端接收的一致。如果前端仍在传email,需要调整请求参数为username。
2. 确认Passport自定义认证配置
由于你使用username而非email认证,需确保Laravel端已正确配置Passport支持自定义字段:
- 在
User模型中重写findForPassport方法,指定通过username查找用户:
public function findForPassport($username) { return $this->where('username', $username)->first(); }
- 确认服务器上已部署该代码,无遗漏或错误。
3. 清除Laravel配置缓存
服务器迁移后可能存在配置缓存未更新的情况,执行以下命令清除缓存:
php artisan config:clear php artisan cache:clear php artisan route:clear
4. 检查认证路由指向
确认Vue请求的认证接口是你自定义的控制器路由,而非Passport默认的oauth/token路由。如果误用默认路由,Passport会使用email字段验证,从而抛出你看到的错误。
5. 验证请求头与跨域配置
检查Vue端的请求头是否包含Content-Type: application/json,确保参数以JSON格式传递。同时确认服务器端的CORS配置与本地一致,避免跨域导致参数丢失或请求被拦截。
内容的提问来源于stack exchange,提问作者Ikhsannul Hijri
相关产品推荐
相关产品推荐

