【发布时间】:2020-11-05 19:06:10
【问题描述】:
设置
- 护照版本:“laravel/passport”:“^9.3”,
- Laravel 版本:“laravel/framework”:“^7.0”,
- PHP 版本:“php”:“^7.2.5”,
- 数据库驱动和版本:MYSQL 8.0.15
说明:
我使用 this article 用 laravel-passport 创建了新的 API。安装后我已经成功注册了一些用户。然后经过一些编码后,我需要向现有表中添加一些列。因此,在添加这些列之后,我使用了新命令来重新迁移所有数据库。
php artisan migrate:fresh --seed
操作成功,所有表(oauth 表)都已创建。 但在此迁移过程之后,现有的护照授予令牌不可用。当我通过从 Web 应用程序界面发送正常 AJAX 请求注册新用户时,我收到此错误。
Undefined property: stdClass::$refresh_token
我已经尝试了很多方法并研究了这个问题,但只有在更新旧客户端和密码密钥过程有效之后。
php artisan passport:install --force
复制步骤:
安装护照后,只需安装和创建密钥并迁移数据库。所以一切都会奏效。然后在使用命令 php artisan migrate:fresh 重新迁移数据库之后。那么旧密钥将无法使用。
【问题讨论】:
-
你做了
php artisan passport:keys吗? -
@Skyro682 是的。显示此警告 - 加密密钥已存在。使用 --force 选项覆盖它们。
标签: php laravel laravel-passport laravel-7