Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel Dingo/Api和JWT认证_Laravel_Jwt_Dingo Api - Fatal编程技术网

Laravel Dingo/Api和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

我正在寻找用JWT和Dingo/Api实现auth的方法。我已将JWT包添加到我的项目中。在我的
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");
}