%PDF- %PDF-
Direktori : /home/forge/api-takeaseat.eco-n-tech.co.uk/app/Http/Controllers/Auth/ |
Current File : //home/forge/api-takeaseat.eco-n-tech.co.uk/app/Http/Controllers/Auth/AuthController.php |
<?php namespace App\Http\Controllers\Auth; use JWTAuth; use Tymon\JWTAuth\Exceptions\JWTException; use Tymon\JWTAuth\Exceptions\TokenInvalidException; use Tymon\JWTAuth\Exceptions\TokenExpiredException; use App\Http\Resources\UserResource; use App\Http\Controllers\Controller; class AuthController extends Controller { /** * Attempt to get the Authenticated User * via JWTAuth and pass back the User data * * @return \Illuminate\Http\JsonResponse */ public function index() { try { if (!$user = JWTAuth::parseToken()->authenticate()) { return response()->json(['user_not_found'], 404); } } catch (TokenExpiredException $e) { return response()->json(['token_expired'], $e->getStatusCode()); } catch (TokenInvalidException $e) { return response()->json(['token_invalid'], $e->getStatusCode()); } catch (JWTException $e) { return response()->json(['token_absent'], $e->getStatusCode()); } return new UserResource($user); } /** * Refresh the Authentication Token * * @return \Illuminate\Http\JsonResponse */ public function refresh() { return $this->respondWithToken(auth()->refresh()); } /** * Get the token array structure. * * @param string $token * * @return \Illuminate\Http\JsonResponse */ protected function respondWithToken($token) { return response()->json([ 'token' => $token, 'token_type' => 'bearer', 'expires_in' => auth()->factory()->getTTL() * 60 ]); } }