ackosoft/auth-adapter

oauth2 passport 认证适配器

v1.1 2019-08-21 03:37 UTC

This package is not auto-updated.

Last update: 2024-09-26 12:04:20 UTC


README

安装

本包专门为 lumen 微型认证服务客户端应用设计。

$ composer require ackosoft/auth-adapter

在您的根目录中创建 config 文件夹,然后将在 config/auth.php 中添加以下代码:

<?php
return [
    'defaults' => [
        'guard' => 'api',
        'passwords' => 'users',
    ],

    'guards' => [
        'api' => [
            'driver' => 'passport',
            'provider' => 'users'
        ],
    ],

    'providers' => [
        'users' => [
            'driver' => 'eloquent',
            'model' => \App\User::class
        ]
    ],
    'auth_connection'=>env('AUTH_DB_CONNECTION','mysql')
];

如果您为 Passport 认证使用单独的 MySQL 连接,可以通过更改环境变量来实现。示例:

AUTH_DB_CONNECTION=mysql2

修改 bootstrap/app.php 文件以启用该包

// Enable Facades
$app->withFacades();

// Enable Eloquent
$app->withEloquent();

$app->register(Laravel\Passport\PassportServiceProvider::class);
$app->register(\Ackosoft\AuthAdapter\AppServiceProvider::class);
$app->routeMiddleware([
     'auth' => \Ackosoft\AuthAdapter\Middleware\AuthMiddleware::class,
 ]);

$app->configure('auth'); //Add this line if not working properly

确保您的用户模型使用 Passport 的 HasApiTokens 特性,例如。

class User extends Model implements AuthenticatableContract, AuthorizableContract
{
    use HasApiTokens, Authenticatable, Authorizable;

    /* rest of the model */
}
 

如果您为认证使用单独的数据库,请在 User 模型中添加连接。

    protected $connection = 'mysql2'; 

待办事项

  • 添加更多功能

许可证

MIT