Laravel Dingo/Api和JWT认证
我正在寻找用JWT和Dingo/Api实现auth的方法。我已将JWT包添加到我的项目中。在我的Laravel Dingo/Api和JWT认证,laravel,jwt,dingo-api,Laravel,Jwt,Dingo Api,我正在寻找用JWT和Dingo/Api实现auth的方法。我已将JWT包添加到我的项目中。在我的Api.phpAuth部分中添加了'jwt'=>'Dingo\Api\Auth\Provider\jwt', 还添加到我的BaseController中 public function __construct() { $this->middleware('api.auth'); } 如何使用FormRequest检查用户是否具有权限(按角色)?它有一个autho
Api.php
Auth部分中添加了'jwt'=>'Dingo\Api\Auth\Provider\jwt',
还添加到我的BaseController中
public function __construct()
{
$this->middleware('api.auth');
}
如何使用FormRequest检查用户是否具有权限(按角色)?它有一个authorize
方法,但是我不确定如何获取我的用户
因为我使用的是JWT,所以令牌在头中发送。一种方法是将角色验证添加到中间件中
您可以尝试将此自定义验证添加到验证用户提供的JWT的部分,因为这是您可以确定谁是拥有令牌的用户的部分。您可以使用
Auth
Facade检索当前已验证的用户:
$user = \Auth::user()
有关可以使用策略的授权,请参阅
启用后,您可以在授权方法中检查用户能力,例如:
但是,如何执行授权检查有多种可能性,请阅读上面提到的文档以了解更多详细信息
public function authorize() {
$user = \Auth::user();
return $user->can("do-something");
}