%PDF- %PDF-
Direktori : /var/www/html/workeasy-api/app/Http/Controllers/Api/ |
Current File : /var/www/html/workeasy-api/app/Http/Controllers/Api/AuthenticationController.php |
<?php namespace Workeasy\Http\Controllers\Api; use Illuminate\Http\Request; use Tymon\JWTAuth\Exceptions\JWTException; use Tymon\JWTAuth\Exceptions\TokenBlacklistedException; use Tymon\JWTAuth\Facades\JWTAuth; use Workeasy\Http\Requests\Authentication\LoginRequest; use Workeasy\Models\User; use Workeasy\Transformers\UserTransformer; class AuthenticationController extends ApiController { public function login(LoginRequest $request) { $credentials = $request->only('email', 'password'); $user = User::query()->where('email', $credentials['email'])->first(); if (!$user) { return $this->response->errorUnauthorized(trans('auth.failed')); } try { if (!$token = JWTAuth::attempt($credentials)) { return $this->response->errorUnauthorized(trans('auth.failed')); } } catch (JWTException $e) { return $this->response->errorInternalError($e->getMessage()); } return response(compact('token')); } public function logout(Request $request) { try { $token = $request->input('token'); if (!$token) { $token = last(explode(' ', $request->header('Authorization'))); } JWTAuth::invalidate($token); return response('', 201); } catch (TokenBlacklistedException $e) { return $this->response->errorUnauthorized($e->getMessage()); } catch (JWTException $e) { return $this->response->errorInternalError($e->getMessage()); } } public function me() { $user = JWTAuth::parseToken()->authenticate(); return $this->response->withItem($user, new UserTransformer); } }