Giter VIP home page Giter VIP logo

portal's Introduction

Portal ⾨

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 [email protected] instead of using the issue tracker.

Credits

License

The MIT License (MIT). Please see License File for more information.

portal's People

Contributors

rawaby88 avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.