rawaby88 / portal
Portal
Requires
- php: ^7.3 || ^8.0 || ^8.1 || ^8.2
- ext-json: *
- ext-openssl: *
- doctrine/dbal: ^3.1
- goldspecdigital/laravel-eloquent-uuid: ^8.0 | ^9.0 | ^10.0
- illuminate/contracts: ^8.0 | ^9.0 | ^10.0
- illuminate/database: ^8.0 | ^9.0 | ^10.0
- illuminate/support: ^8.0 | ^9.0 | ^10.0
Requires (Dev)
- orchestra/testbench: ^6.0 | ^7.0 | ^8.0
- phpunit/phpunit: ^9.0
This package is auto-updated.
Last update: 2026-06-15 19:35:23 UTC
README
This package adding new guard ['portal'] to use on authenticated routes.
it will check if user has valid Token and permissions to endpoint
Installation
You can install the package via composer:
composer require rawaby88/portal
Usage
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', ];
Security
If you discover any security related issues, please email github@dreamod.pl instead of using the issue tracker.
Credits
License
The MIT License (MIT). Please see License File for more information.