Changeset View
Changeset View
Standalone View
Standalone View
src/app/Http/Controllers/API/AuthController.php
Show First 20 Lines • Show All 76 Lines • ▼ Show 20 Lines | public function login(Request $request) | ||||
if ($v->fails()) { | if ($v->fails()) { | ||||
return response()->json(['status' => 'error', 'errors' => $v->errors()], 422); | return response()->json(['status' => 'error', 'errors' => $v->errors()], 422); | ||||
} | } | ||||
$user = \App\User::where('email', $request->email)->first(); | $user = \App\User::where('email', $request->email)->first(); | ||||
if (!$user) { | if (!$user) { | ||||
return response()->json(['status' => 'error', 'message' => __('auth.failed')], 401); | return response()->json(['status' => 'error', 'message' => \trans('auth.failed')], 401); | ||||
} | } | ||||
return self::logonResponse($user, $request->password, $request->secondfactor); | return self::logonResponse($user, $request->password, $request->secondfactor); | ||||
} | } | ||||
/** | /** | ||||
* Log the user out (Invalidate the token) | * Log the user out (Invalidate the token) | ||||
* | * | ||||
* @return \Illuminate\Http\JsonResponse | * @return \Illuminate\Http\JsonResponse | ||||
*/ | */ | ||||
public function logout() | public function logout() | ||||
{ | { | ||||
$tokenId = Auth::user()->token()->id; | $tokenId = Auth::user()->token()->id; | ||||
$tokenRepository = app(TokenRepository::class); | $tokenRepository = app(TokenRepository::class); | ||||
$refreshTokenRepository = app(RefreshTokenRepository::class); | $refreshTokenRepository = app(RefreshTokenRepository::class); | ||||
// Revoke an access token... | // Revoke an access token... | ||||
$tokenRepository->revokeAccessToken($tokenId); | $tokenRepository->revokeAccessToken($tokenId); | ||||
// Revoke all of the token's refresh tokens... | // Revoke all of the token's refresh tokens... | ||||
$refreshTokenRepository->revokeRefreshTokensByAccessTokenId($tokenId); | $refreshTokenRepository->revokeRefreshTokensByAccessTokenId($tokenId); | ||||
return response()->json([ | return response()->json([ | ||||
'status' => 'success', | 'status' => 'success', | ||||
'message' => __('auth.logoutsuccess') | 'message' => \trans('auth.logoutsuccess') | ||||
]); | ]); | ||||
} | } | ||||
/** | /** | ||||
* Refresh a token. | * Refresh a token. | ||||
* | * | ||||
* @return \Illuminate\Http\JsonResponse | * @return \Illuminate\Http\JsonResponse | ||||
*/ | */ | ||||
Show All 37 Lines | protected static function respondWithToken($tokenResponse, array $response = []) | ||||
$data = json_decode($tokenResponse->getContent()); | $data = json_decode($tokenResponse->getContent()); | ||||
if ($tokenResponse->getStatusCode() != 200) { | if ($tokenResponse->getStatusCode() != 200) { | ||||
if (isset($data->error) && $data->error == 'secondfactor' && isset($data->error_description)) { | if (isset($data->error) && $data->error == 'secondfactor' && isset($data->error_description)) { | ||||
$errors = ['secondfactor' => $data->error_description]; | $errors = ['secondfactor' => $data->error_description]; | ||||
return response()->json(['status' => 'error', 'errors' => $errors], 422); | return response()->json(['status' => 'error', 'errors' => $errors], 422); | ||||
} | } | ||||
return response()->json(['status' => 'error', 'message' => __('auth.failed')], 401); | return response()->json(['status' => 'error', 'message' => \trans('auth.failed')], 401); | ||||
} | } | ||||
$response['access_token'] = $data->access_token; | $response['access_token'] = $data->access_token; | ||||
$response['refresh_token'] = $data->refresh_token; | $response['refresh_token'] = $data->refresh_token; | ||||
$response['token_type'] = 'bearer'; | $response['token_type'] = 'bearer'; | ||||
$response['expires_in'] = $data->expires_in; | $response['expires_in'] = $data->expires_in; | ||||
return response()->json($response); | return response()->json($response); | ||||
} | } | ||||
} | } |