- API REST com Laravel 6 usando autenticação JWT:
Laravel 6 Rest API using JWT Authentication | LaraShout
Seguir o link acima e atentar para o Controller "APIController" que deve ficar como o seguinte:
<?php
namespace App\Http\Controllers;
use Tymon\JWTAuth\Facades\JWTAuth; // <--- atenção aqui
use Illuminate\Http\Request;
use Tymon\JWTAuth\Exceptions\JWTException;
class APIController extends Controller
{
/**
* @var bool
*/
public $loginAfterSignUp = true;
/**
* @param Request $request
* @return \Illuminate\Http\JsonResponse
*/
public function login(Request $request)
{
$input = $request->only('email', 'password');
$token = null;
if (!$token = JWTAuth::attempt($input)) {
return response()->json([
'success' => false,
'message' => 'Invalid Email or Password',
], 401);
}
return response()->json([
'success' => true,
'token' => $token,
]);
}
/**
* @param Request $request
* @return \Illuminate\Http\JsonResponse
* @throws \Illuminate\Validation\ValidationException
*/
public function logout(Request $request)
{
$this->validate($request, [
'token' => 'required'
]);
try {
JWTAuth::invalidate($request->token);
return response()->json([
'success' => true,
'message' => 'User logged out successfully'
]);
} catch (JWTException $exception) {
return response()->json([
'success' => false,
'message' => 'Sorry, the user cannot be logged out'
], 500);
}
}
}
Comentários
Postar um comentário