amin3536 / laravel-api-user-provider
this package help you to provide your user from different service ( useful in micro service specially )
Installs: 2 053
Dependents: 0
Suggesters: 0
Security: 0
Stars: 11
Watchers: 2
Forks: 5
Open Issues: 3
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-10-22 11:51:10 UTC
README
this pack help you to provide your user from different service ( useful in micro service )
how this package work
this package use bearer token in header's request and provide user from Sec Service (Auth service)
Installation
Via Composer
$ composer require amin3536/laravel-api-user-provider
Usage
simple usage this driver : change your auth.php
in config
like below
<?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 =>http://localhost/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 //....... ];
advance
if you want use custom Deserializer class ,the class must be implement DeserializerInterface
and add below code in boot method of AuthServiceProvider .
<?php //... public function boot() { $this->app->when(ExternalUserProvider::class) ->needs(DeserializerInterface::class) ->give(function () { return new JsonToModel(); }); }
Change log
Please see the changelog for more information on what has changed recently.
Testing
$ composer test
Contributing
Please see contributing.md for details and a todolist.
Security
If you discover any security related issues, please email author email instead of using the issue tracker.
Credits
License
license. Please see the license file for more information.