geodeticca/laravel-iam

一个简单的包,为geodeticca IAM提供支持。

dev-master 2023-08-21 07:30 UTC

README

一个简单的包,通过JWT扩展laravel auth。

关于

该包需要安装dense\enum包,该包包含一些简单的类,便于处理枚举。

安装

运行以下composer命令。

composer require geodeticca/iam
composer require laravel/ui

运行artisan命令

php artisan iam:generate

此命令将在App\Http\Conrollers\Iam目录中生成控制器。

配置

在routes/web.php配置文件顶部添加以下行。

Auth::routes([
    'register' => false,
    'verify' => false,
    'reset' => false,
]);

将这些设置添加到config/auth.php文件中。

'defaults' => [
    'guard' => 'web',
    'passwords' => 'users',
],

'guards' => [
    'web' => [
        'driver' => 'geodeticca-web',
    ],

    'api' => [
        'driver' => 'geodeticca-api',
    ],
    
    'autologin' => [
        'driver' => 'geodeticca-autologin',
    ],
],

如果您只需要用于JavaScript应用或测试的token,登录过程需要系统用户账户详情。

$guard = Auth::guard('autologin');

$attempt = $guard->attempt([
    'app' => config('iam.app'),
    'login' => config('iam.service.login'),
    'password' => config('iam.service.password'),
]);

if (!$attempt) {
    throw new \Exception('Invalid login.');
}

$tokem = $guard->getProvider()->getJwtToken();

如果您正在运行lumen,需要将以下行添加到bootstrap/app.php文件中。

$app->register(\Geodeticca\Iam\IamServiceProvider::class);