amin3536/laravel-api-user-provider

this package help you to provide your user from different service ( useful in micro service specially )
2,057 11
Install
composer require amin3536/laravel-api-user-provider
Latest Version:v1.0.9
Laravel:7 · 8 · 9
License:MIT
Last Updated:Aug 22, 2022
Links: GitHub  ·  Packagist
Maintainer: amin3520

LaravelApiUserProvider

Latest Version on Packagist Total Downloads tests workflow StyleCI

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.

Related Packages

doctrine/dbal

Powerful PHP database abstraction layer (DBAL) with many features for database s...

644,549,754 9,698
laravel/framework

The Laravel Framework.

598,760,099 34,966
laravel/tinker

Powerful REPL for the Laravel framework.

507,193,856 7,441
laravel/serializable-closure

Laravel Serializable Closure provides an easy and secure way to serialize closur...

423,477,751 607
nunomaduro/collision

Cli error handling for console/command-line PHP applications.

403,217,078 4,664

Version History

Version Released Laravel License
v1.0.9 ~7|~8|~9 MIT
v1.0.8 ~7|~8 MIT
v1.0.7 ~7|~8 MIT
v1.0.6 ~7|~8 MIT
v1.0.5 ~7|~8 MIT