zcoorp/laravel-passport-control
Laravel Passport的资源服务器包。
Requires
- php: ^8.3
- illuminate/auth: ^11.0
- illuminate/config: ^11.0
- illuminate/container: ^11.0
- illuminate/contracts: ^11.0
- illuminate/http: ^11.0
- illuminate/support: ^11.0
- league/oauth2-server: ^9.0.0
- nyholm/psr7: ^1.8.1
- symfony/psr-http-message-bridge: ^7.1.1
Requires (Dev)
- laravel/pint: ^v1.16.1
- pestphp/pest: ^v2.34.8
- dev-main
- v1.1.0
- v1.0.0
- dev-dependabot/composer/illuminate/contracts-11.23.5
- dev-dependabot/composer/illuminate/config-11.23.5
- dev-dependabot/composer/illuminate/auth-11.23.5
- dev-dependabot/composer/illuminate/container-11.23.5
- dev-dependabot/composer/illuminate/http-11.23.5
- dev-dependabot/composer/illuminate/contracts-11.22.0
- dev-dependabot/composer/illuminate/auth-11.22.0
- dev-dependabot/composer/illuminate/http-11.22.0
- dev-dependabot/composer/illuminate/container-11.22.0
- dev-dependabot/composer/illuminate/config-11.22.0
This package is auto-updated.
Last update: 2024-09-16 21:06:26 UTC
README
简介
Passport Control是一个与Laravel Passport兼容的OAuth2资源服务器包。
该包旨在用于作为资源服务器的Laravel应用程序,例如一个打算与运行Laravel Passport的认证服务器进行认证的API服务器(仅限资源服务器)。
本项目不依赖于Laravel Passport包本身,但它共享了一些相同的概念和接口。
目录
安装
安装此包非常简单。但在开始之前,请确保您已经准备好了先决条件。
先决条件
此包假定您已经在您的Laravel应用程序中安装并配置了Laravel Passport。一旦完成,您需要在您的Passport服务器上创建一个具有客户端凭据授权类型的客户端。
有关如何操作的详细信息,请参阅官方Laravel Passport文档。
完成此操作后,请设置相应的环境变量PASSCONTROL_INTROSPECTION_CLIENT_ID和PASSCONTROL_INTROSPECTION_CLIENT_SECRET。
目前,Laravel没有内置 introspection 端点。因此,您需要手动创建一个。您可以通过在您的Passport服务器上安装Laravel Passport Introspection包来完成此操作。
composer require xcoorp/laravel-passport-introspection
完成此操作后,Laravel应用程序将可访问 introspection 端点,您现在可以继续安装此包。
提示
如果您需要有关如何安装和配置 introspection 包的更多信息,请参阅其文档。
Composer
您可以通过Composer简单地安装该包
composer require xcoorp/laravel-passport-control
安装包后,您应该发布配置和迁移文件
php artisan vendor:publish --provider="XCoorp\PassportControl\PassportControlServiceProvider"
并运行迁移
php artisan migrate
配置
此包附带一个配置文件,您可以对其进行自定义以满足您的需求。该配置文件位于config/passport-control.php。
除了用户模型之外,所有配置选项也可以通过环境变量而不是配置文件进行配置。
以下环境变量可用
使用
安装和配置包后,您需要将您的认证守卫配置为passport_control。在您的config/auth.php文件中,您可以添加一个新的守卫配置,如下所示
'guards' => [ 'api' => [ 'driver' => 'passport_control', 'provider' => 'users', ], ],
就这样,现在您可以通过使用auth:api中间件来像往常一样保护您的API路由。
Route::middleware('auth:api')->get('/user', function (Request $request) { return $request->user(); });
高级使用
在某些情况下,您可能希望在本地数据库中没有用户的情况下自动创建用户。如果您想这样做,可以通过配置启用此功能。在这种情况下,成功认证后,如果本地数据库中没有找到用户,则会创建一个新用户(PASSCONTROL_CREATE_USER)。
提示
仅填写用户 id 字段,其他所有字段必须可空或有默认值。
测试
本包的功能与 Pest PHP 进行了测试。您可以使用以下命令运行测试:
composer test
行为准则
为确保社区对所有成员友好,请查阅并遵守 行为准则。
安全漏洞
请查阅关于如何报告安全漏洞的 安全策略。
许可证
MIT 许可证 (MIT)。更多信息请参阅 许可文件。