使用 Laravel 7,我是这样做的:
第 1 步。 在文件 app/Providers/AuthServiceProvider.php 中,删除这两行:
use Laravel\Passport\Passport;
Passport::routes();
第 2 步。
$ composer remove laravel/passport
$ rm -r ./resources/js/components/passport # if any
$ rm -r ./resources/views/vendor/passport # if any
第 3 步。 在文件 resources/js/app.js 中,删除护照组件注册。如果您在某处使用过这些已注册的组件,您也可以找到并删除它:
$ grep -rn 'passport-authorized-clients' resources/js/*
$ grep -rn 'passport-personal-access-tokens' resources/js/*
$ grep -rn 'passport-clients' resources/js/*
第 4 步。 从您的模型中查找并删除 HasApiTokens:
$ grep -rn HasApiTokens *
同时删除与之相关的导入行:
use Laravel\Passport\HasApiTokens;
第 5 步。 删除 oauth 键
$ rm storage/oauth-*.key
第 6 步。在文件 config/auth.php 中,查找 guards:api:driver 并将 passport 还原为 token。
第 7 步。 删除 Passport 表并清理迁移表
$ php artisan tinker
>>> Schema::drop('oauth_access_tokens');
>>> Schema::drop('oauth_auth_codes');
>>> Schema::drop('oauth_clients');
>>> Schema::drop('oauth_personal_access_clients');
>>> Schema::drop('oauth_refresh_tokens');
>>> DB::table('migrations')->where('migration', 'like', '%_oauth_access_tokens_table')->delete();
>>> DB::table('migrations')->where('migration', 'like', '%_oauth_auth_codes_table')->delete();
>>> DB::table('migrations')->where('migration', 'like', '%_oauth_clients_table')->delete();
>>> DB::table('migrations')->where('migration', 'like', '%_oauth_personal_access_clients_table')->delete();
>>> DB::table('migrations')->where('migration', 'like', '%_oauth_refresh_tokens_table')->delete();
>>> exit
第 8 步。最后,刷新您的安装:
$ composer dump-autoload
$ php artisan optimize:clear
$ npm run dev