如何卸载拉拉维尔护照



我决定使用JWT并从项目中完全删除Laravel护照。

我试图从composer remove laravel/passport开始.但是,它没有好处:

[SymfonyComponentDebugExceptionFatalThrowableError]
Class 'LaravelPassportPassport' not found

Script @php artisan package:discover handling the post-autoload-dump event returned with error code 1
Removal failed, reverting ./composer.json to its original content.

什么是正确和安全的移除程序?

您可以通过手动删除composer.json文件中的此行"laravel/passport": "^4.0"来删除护照,然后运行composer update

如果您运行的是Laravel 5.4或更低版本,请确保删除app.config文件中的此行LaravelPassportPassportServiceProvider::class

所有依赖护照的课程也必须进行编辑。最常见的类是:

  1. User模型中,删除HasApiToken特征。
  2. AuthServiceProvider,删除引导方法中的Passport::routes();
  3. 您的config/auth.php,更改驱动程序选项以进行api身份验证

Laravel 7中,我是这样做的:

第 1 步。在文件app/Providers/AuthServiceProvider.php中,删除以下两行:

use LaravelPassportPassport;
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 LaravelPassportHasApiTokens;

第5步。删除oauth密钥

$ rm storage/oauth-*.key

第 6 步。在文件config/auth.php中,查找guardsapidriver,然后从passport恢复到token

步骤 7.放下护照表和干净迁移表

$ 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

按照保罗的脚步。删除数据库迁移表中的护照迁移,然后运行命令artisan migrate:refresh

相关内容

  • 没有找到相关文章

最新更新