中间件检查承载令牌,获取用户并将其传递给路由

时间:2019-01-11 15:34:19

标签: authorization laravel-5.7 laravel-middleware

我想创建一个中间件来检查是否存在承载令牌。
如果存在,则需要吸引用户并将其传递给路线。

我无法做到这一点。到目前为止,我刚刚创建了一个中间件,用于检查令牌是否存在以及令牌是否与用户连接。

问题在于,在该路线中,我必须再次吸引用户,并且我想避免这种情况。

这是中间件的代码:

public function handle($request, Closure $next)
{
    $bearer_token = $request->bearerToken();

    try {
        if ($bearer_token) {
            if (\App\Helpers\ApiHelper::getUserByToken($request->bearerToken())) {
                return $next($request);
            } else {
                throw new \Exception('Not authorized');
            }
        } else {
            throw new \Exception('Not authorized');
        }
    } catch (\Exception $exc) {
        return response()->json([
            'error' => 'Not authorized.'
        ],403);
    }
}

0 个答案:

没有答案