【发布时间】:2020-02-26 21:27:39
【问题描述】:
我看过很多关于这个错误的帖子,但没有一个解决方案对我有用。
我正在使用 Passport 运行 Laravel,它在我的开发服务器上运行良好。正如预期的那样,当尝试检查用户是否在我的开发服务器上通过身份验证时,它会返回捕获(在 axios 调用中):
开发服务器
"message":"Unauthenticated."
但是,当在我的生产服务器上运行相同的代码时,它会返回捕获:
生产服务器:
"message": "SQLSTATE[42S22]: Column not found: 1054 Unknown column 'api_token'
in 'where clause' (SQL: select * from `users` where `api_token` = ...
我已经在 config/auth.php 中运行 Passport 迁移并将 ['guards']['api']['driver'] 设置为 passport,并更新了显然为其他人解决问题的配置缓存。
看起来身份验证需要使用来自护照迁移的 oauth 表,但查询似乎正在查看用户表。
编辑:
我能够确定我的开发服务器使用RequestGuard 类来查找用户,而我的生产服务器使用TokenGuard 类来查找用户。
【问题讨论】:
标签: laravel authentication axios passport.js