amin3536 / laravel-api-user-provider
此包帮助您从不同的服务提供用户(特别适用于微服务)
v1.0.9
2022-08-11 07:54 UTC
Requires
- ext-json: *
- guzzlehttp/guzzle: ^7.4
- illuminate/support: ~7|~8|~9
- laravel/passport: ^10.1
Requires (Dev)
- orchestra/testbench: ~5|~6
- phpunit/phpunit: ~9.0
This package is auto-updated.
Last update: 2024-09-22 11:44:35 UTC
README
此包帮助您从不同的服务提供用户(特别适用于微服务)
此包的工作原理
此包在请求头中使用 bearer 令牌,并从安全服务(认证服务)提供用户
安装
通过 Composer
$ composer require amin3536/laravel-api-user-provider
使用方法
简单使用此驱动程序:更改您的 config/auth.php
如下
<?php return [ //....... /* |-------------------------------------------------------------------------- | Authentication Guards |-------------------------------------------------------------------------- */ 'guards' => [ 'web' => [ 'driver' => 'session', 'provider' => 'users', ], 'api' => [ 'driver' => 'api-token', 'provider' => 'users', ], 'admin-api' => [ 'driver' => 'api-token', 'provider' => 'admins', ], ], /* |-------------------------------------------------------------------------- | User Providers |-------------------------------------------------------------------------- | */ 'providers' => [ 'users' => [ 'driver' => 'api-provider', 'model' => App\Models\User::class, //merged with base_url or you can use full path api here =>https:///api/admin/ 'url' => '/api/v1/user/' ], 'admins' => [ 'driver' => 'api-provider', 'model' => App\Models\Admin::class, 'url' => '/api/v1/admin/' ], ], /* |-------------------------------------------------------------------------- | Base url path to to call Auth Service |-------------------------------------------------------------------------- | */ 'base-url'=>'localhost', 'TimeoutForRequestAuthServer'=>2 //....... ];
高级
如果您想使用自定义反序列化类,该类必须实现 DeserializerInterface
并在 AuthServiceProvider 的 boot 方法中添加以下代码。
<?php //... public function boot() { $this->app->when(ExternalUserProvider::class) ->needs(DeserializerInterface::class) ->give(function () { return new JsonToModel(); }); }
变更日志
请参阅变更日志以获取有关最近更改的更多信息。
测试
$ composer test
贡献
请参阅contributing.md以获取详细信息及待办事项清单。
安全性
如果您发现任何安全问题,请通过作者邮箱而不是使用问题跟踪器来联系。
致谢
许可
许可。请参阅许可文件以获取更多信息。