rawaby88/portal

3.0.1 2023-03-15 12:07 UTC

README

此包添加了新的守护者 ['portal'],用于认证路由。

它将检查用户是否有有效的令牌和访问端点的权限

安装

您可以通过composer安装此包

composer require rawaby88/portal

用法

将Portable特质添加到User模型中;

use Rawaby88\Portal\Portable;


use Portable;

运行migrate以更新用户表

php artisan migrate

迁移定制

如果您不打算使用Portal的默认迁移,应在您的

Portal::ignoreMigrations();

的注册方法中调用方法

App\Providers\AppServiceProvider class.

您可以通过执行以下命令导出默认迁移

 php artisan vendor:publish --tag=portal-migrations

通过在端点添加中间件 'auth:portal' 来使用

Route::middleware('auth:portal')->get('/user', function (Request $request) {
    return auth()->user()->token;
});

auth() 函数将可供您使用

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');

如果您想更改用户表中存储的数据,您可以通过执行以下命令导出默认配置

 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',
];

安全性

如果您发现任何安全相关的问题,请通过电子邮件 github@dreamod.pl 而不是使用问题跟踪器。

鸣谢

许可证

MIT许可证(MIT)。请参阅许可证文件以获取更多信息。