This package adding new guard ['portal'] to use on authenticated routes.
it will check if user has valid Token and permissions to endpoint
You can install the package via composer:
composer require rawaby88/portal
Add Portable trait to User model;
use Rawaby88\Portal\Portable;
use Portable;
Run migrate to update user table:
php artisan migrate
Migration Customization
If you are not going to use Portal's default migrations, you should call the
Portal::ignoreMigrations();
method in the register method of your
App\Providers\AppServiceProvider class.
You may export the default migrations by executing the following command:
php artisan vendor:publish --tag=portal-migrations
Usage by adding middleware 'auth:portal' to endpoints
Route::middleware('auth:portal')->get('/user', function (Request $request) {
return auth()->user()->token;
});
auth() functions will be available for you to use
auth()->check();
auth()->id();
auth()->user();
auth()->user()->token;
auth()->user()->appliance;
//you can also call other param as credit
auth()->user()->getData('credit');
auth()->user()->getData('workspace');
if you would like to change data stored in user table You may export the default config by executing the following command:
php artisan vendor:publish --tag=portal-config
[/config/portal.php]
return [
'auth_endpoint' => env( 'PORTAL_AUTH_ENDPOINT', '172.17.0.1/api/auth/token/check/' ),
'expiration' => null,
//user mode namespace
'user_model' => env( 'PORTAL_USER_MODEL', 'App\Models\User' ),
// Mapping data from response to database
//add or remove fields as you wish
'db_user_fields' => [
'id' => 'user_id',
'name' => 'name',
'email' => 'email'
],
// primary key for user table
'user_model_key' => 'user_id',
// primary key type -- don't change
'user_model_key_type' => 'string',
];
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
The MIT License (MIT). Please see License File for more information.