Viewing file: BaseMiddleware.php (2.38 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/* * This file is part of jwt-auth. * * (c) Sean Tymon <tymon148@gmail.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */
namespace Tymon\JWTAuth\Http\Middleware;
use Illuminate\Http\Request; use Symfony\Component\HttpKernel\Exception\UnauthorizedHttpException; use Tymon\JWTAuth\Exceptions\JWTException; use Tymon\JWTAuth\JWTAuth;
/** @deprecated */ abstract class BaseMiddleware { /** * The JWT Authenticator. * * @var \Tymon\JWTAuth\JWTAuth */ protected $auth;
/** * Create a new BaseMiddleware instance. * * @param \Tymon\JWTAuth\JWTAuth $auth * @return void */ public function __construct(JWTAuth $auth) { $this->auth = $auth; }
/** * Check the request for the presence of a token. * * @param \Illuminate\Http\Request $request * @return void * * @throws \Symfony\Component\HttpKernel\Exception\BadRequestHttpException */ public function checkForToken(Request $request) { if (! $this->auth->parser()->setRequest($request)->hasToken()) { throw new UnauthorizedHttpException('jwt-auth', 'Token not provided'); } }
/** * Attempt to authenticate a user via the token in the request. * * @param \Illuminate\Http\Request $request * @return void * * @throws \Symfony\Component\HttpKernel\Exception\UnauthorizedHttpException */ public function authenticate(Request $request) { $this->checkForToken($request);
try { if (! $this->auth->parseToken()->authenticate()) { throw new UnauthorizedHttpException('jwt-auth', 'User not found'); } } catch (JWTException $e) { throw new UnauthorizedHttpException('jwt-auth', $e->getMessage(), $e, $e->getCode()); } }
/** * Set the authentication header. * * @param \Illuminate\Http\Response|\Illuminate\Http\JsonResponse $response * @param string|null $token * @return \Illuminate\Http\Response|\Illuminate\Http\JsonResponse */ protected function setAuthenticationHeader($response, $token = null) { $token = $token ?: $this->auth->refresh(); $response->headers->set('Authorization', 'Bearer '.$token);
return $response; } }
|