canis / lumen-jwt-auth
此包已被弃用,不再维护。未建议替代包。
Lumen的lcobucci/jwt轻量级包装
1.0.5
2016-02-23 22:23 UTC
Requires
- php: >=5.6
- laravel/lumen-framework: 5.2.*
- lcobucci/jwt: ^3.1
Requires (Dev)
- mockery/mockery: ^0.9.4
- phpunit/phpunit: ~4.0
- symfony/var-dumper: ~3.0
This package is auto-updated.
Last update: 2020-01-24 17:02:00 UTC
README
这是一个Lumen的Guard驱动程序,它使用Laravel的Auth
类添加JWT支持。所有重负载都来自lcobucci/jwt。
安装
安装此扩展的首选方式是通过composer。
运行以下命令之一:
php composer.phar require --prefer-dist canis/lumen-jwt-auth
或者
"canis/lumen-jwt-auth": "^1.0"
将其添加到您的composer.json文件的require部分。
将config/jwt.php
复制到您的Lumen应用的config
目录。在您的本地.env
文件中,为JWT_ISSUER
和JWT_SECRET
设置值。
文档
在您的bootstrap/app.php
文件中添加:
$app->register(\Canis\Lumen\Jwt\ServiceProvider::class);
示例config/auth.php
文件(具有多个提供者)
<?php return [ 'defaults' => [ 'guard' => env('AUTH_GUARD', 'user'), ], 'guards' => [ 'user' => [ 'driver' => 'jwt', 'provider' => 'user', ], 'client' => [ 'driver' => 'jwt', 'provider' => 'client', ], ], 'providers' => [ 'user' => [ 'driver' => 'eloquent', 'model' => App\Models\User::class ], 'client' => [ 'driver' => 'eloquent', 'model' => App\Models\Client::class ] ] ];
您可以使用Lumen骨架中找到的Authenticate
中间件(如下所示)。一旦将其作为auth
加载到routeMiddleware
中,您就可以将auth
添加到您想使用的路由中。如果您想指定守卫(请参阅上面的auth.php
文件),可以这样附加:auth:user
或auth:client
。
<?php namespace App\Http\Middleware; use Closure; use Illuminate\Contracts\Auth\Factory as Auth; class Authenticate { /** * The authentication guard factory instance. * * @var \Illuminate\Contracts\Auth\Factory */ protected $auth; /** * Create a new middleware instance. * * @param \Illuminate\Contracts\Auth\Factory $auth * @return void */ public function __construct(Auth $auth) { $this->auth = $auth; } /** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @param string|null $guard * @return mixed */ public function handle($request, Closure $next, $guard = null) { if ($this->auth->guard($guard)->guest()) { return response('Unauthorized.', 401); } return $next($request); } }
安全漏洞
如果您在此库中发现安全漏洞,请发送电子邮件至security@canis.io。所有安全漏洞都将得到及时处理。
许可证
此库是开源软件,根据MIT许可证许可。