geodeticca / laravel-iam
一个简单的包,为geodeticca IAM提供支持。
dev-master
2023-08-21 07:30 UTC
Requires
- php: >=7.4.0
- dense/delivery: dev-master
- dense/enum: dev-master
- dense/jwt-auth: v2.x-dev
- dense/laravel-assistant: dev-master
- dense/laravel-informer: dev-master
- guzzlehttp/guzzle: ^7.7
- illuminate/auth: >=5.8
- illuminate/support: >=5.8
- laravel/ui: >=1.3
This package is auto-updated.
Last update: 2024-09-03 17:04:43 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);