Laravel 5.3 集成 dingo api 和 oauth2 未找到列:1054 Unknown column 'api_token' in 'where Clause'
Posted
技术标签:
【中文标题】Laravel 5.3 集成 dingo api 和 oauth2 未找到列:1054 Unknown column \'api_token\' in \'where Clause\'【英文标题】:Laravel 5.3 integrate dingo api and oauth2 Column not found: 1054 Unknown column 'api_token' in 'where clause'Laravel 5.3 集成 dingo api 和 oauth2 未找到列:1054 Unknown column 'api_token' in 'where Clause' 【发布时间】:2017-05-26 01:48:04 【问题描述】:我正在使用 laravel 5.3 为移动应用构建 api 和后端管理。 我集成了 Dingo/api 包并使用 Oauth2 进行身份验证。 我创建了一个 API 并使用邮递员登录: API 网址:mydomain/api/auth/login 登录结果:
“元”: “消息”:“成功”, “状态码”:1000, “状态”:真 , “数据”: "access_token": "BK81coQ8mnR7PrfEuYzOwKBuZukXgeVw2pcUjHcZ", "token_type": "承载者", “expires_in”:604800, "refresh_token": "KRIB6YnvqT25rG1fGtoMrK9mGeB7m2J3cdj9QB8N", “轮廓”: “身份证”:1, “用户 ID”:1, "name": "ThanhDN", “邮政编码”:空, “电话号码”:空, “年龄”:空, “性别”:空, “地址”:空, “头像”:空, “状态”:空, "created_at": "2017-01-11 04:44:33", "updated_at": "2017-01-11 04:44:33", “deleted_at”:空
我使用access_token调用API获取用户信息 API 网址:mydomain/api/user/1 但我得到了一个错误:
"message":"SQLSTATE[42S22]: 未找到列:1054 'where 子句'中的未知列 'api_token' (SQL: select * from
users
whereapi_token
= 9mQmZqIjqnRamzX7syjtU6X1jGWrfQXndKKT97TU 限制 1)","代码":"42S22","status_code":500,
我已搜索但找不到任何解决方案。请帮我解决它。 非常感谢!!!
即使您调用注销 网址:mydomain/api/logout
【问题讨论】:
【参考方案1】:确保在config/auth.php
中将['guards']['api']['driver']
设置为passport
,并更新了配置缓存:php artisan config:cache
。
【讨论】:
Ohhhhhhhhh,谢谢爸爸,我需要清除缓存。花了一所房子想知道我到底做错了什么。上帝祝福你!!! +1 非常好的EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE【参考方案2】:首先运行这个命令刷新所有的数据库迁移
php artisan migrate:refresh
然后,运行此命令
php artisan passport:install
【讨论】:
以上是关于Laravel 5.3 集成 dingo api 和 oauth2 未找到列:1054 Unknown column 'api_token' in 'where Clause'的主要内容,如果未能解决你的问题,请参考以下文章
php 使用Laravel Nova API防止Dingo API冲突