hans-thomas/sphinx

Json web token driver for laravel

v1.1.2 2024-09-21 08:55 UTC

This package is auto-updated.

Last update: 2024-09-21 09:04:02 UTC


README

sphinx Logo

codecov GitHub Workflow Status GitHub top language GitHub release (latest by date) StyleCi

Sphinx是一个功能丰富的基于Jwt的认证系统,在授权过程中不向数据库发送查询。

  • 可定制
  • 支持与Horus集成
  • 基于Jwt
  • 双层加密
  • 支持刷新令牌
  • 一个账户限制登录用户

安装

通过composer安装此包。

composer require hans-thomas/sphinx

然后,发布配置文件。

php artisan vendor:publish --tag sphinx-config

设置

模型

首先,在你的模型上使用Hans\Sphinx\Traits\SphinxTrait特质,然后实现抽象方法。接下来,确保在你的模型的booted方法中调用hooks方法。

use SphinxTrait, SphinxTrait {
    SphinxTrait::hooks as private sphinxHooks;
}

protected static function booted() {
    self::sphinxHooks();
}

认证配置

首先,定义提供者。

'providers' => [
    // ...
    'sphinxUsers' => [
        'driver' => 'sphinx',
        'model'  => App\Models\User::class,
    ],
    // ...
],

然后,添加你的守卫。

'guards' => [
    // ...
    'jwt' => [
        'driver'   => 'sphinxJwt',
        'provider' => 'sphinxUsers',
    ],
    // ...
],

最后,你可以将jwt守卫设置为默认。

'defaults' => [
    // ...
    'guard'     => 'jwt',
    // ...
],

设置完成。享受吧!

文档网站上了解更多关于Sphinx的信息。

贡献

  1. 进行分支
  2. 创建你的功能分支:git checkout -b my-new-feature
  3. 提交你的更改:git commit -am '添加一些功能'
  4. 推送到分支:git push origin my-new-feature
  5. 提交拉取请求 ❤️

支持