abdurrahmanriyad/lumenauth

一个用于在Lumen中实现简单认证的包

dev-master 2019-01-18 18:15 UTC

This package is auto-updated.

Last update: 2024-09-15 02:43:10 UTC


README

LumenAuth是Lumen的一个简单认证包。这使得用户能够摆脱在Lumen中设置基于令牌的认证的主要麻烦。

安装

  • 使用Composer安装LumenAuth
composer require abdurrahmanriyad/lumenauth
  • 将以下行添加到 bootstrap/app.php 文件中
$app->register(\Abdurrahmanriyad\LumenAuth\LumenAuthServiceProvider::class);
  • 将一个密钥(你想要的任何内容)添加到 LUMEN_AUTH_SECRET 中,在 .env 文件中使用它来构建令牌
LUMEN_AUTH_SECRET=YOUR_SECRET_KEY

eg. LUMEN_AUTH_SECRET=7852ef15dcdd3eaeb40sdfasdf459171556
  • 如果你的用户模型不属于 App\User,那么在你的 .env 文件中添加以下行
USER_MODEL=YOUR_USER_MODEL_NAMESPACE

eg. USER_MODEL=App\Models\User

用法

  • lumenAuth 中间件添加到需要认证的路由中

例如,

$router->group(['middleware' => 'lumenAuth'],
    function () use ($router) {
        //your routes
    });
  • 要为用户生成令牌,你可以使用 LumenAuthFacade::getToken($user),它将返回给定用户实例的令牌。

例如,

use Abdurrahmanriyad\LumenAuth\Facades\LumenAuthFacade;
.......

class AuthController extends Controller {

   public function login(Request $request) {
        //validate user and check user
        ........

        // Verify the password and generate the token
        if (Hash::check($userPassword, $user->password)) {
            return response()->json([
                'token' => LumenAuthFacade::getToken($user)
            ], 200);
        }

        ......... 
    }

}

贡献

欢迎提交拉取请求。对于重大更改,请首先打开一个问题来讨论你想要更改的内容。

请确保适当更新测试。

许可证

MIT