Browse Source

clave de ruta login debe ir por body no por param

main
jirho 1 year ago
parent
commit
a4a84c8b9e
  1. 25
      app/Http/Controllers/AuthController.php

25
app/Http/Controllers/AuthController.php

@ -31,32 +31,37 @@ class AuthController extends Controller
*/ */
public function login(Request $request) public function login(Request $request)
{ {
// Verifica que la clave secreta esté presente en el cuerpo de la solicitud POST
if (! $request->has('clave_secreta')) { if (! $request->has('clave_secreta')) {
return response()->json(['message' => trans('api.SIN_CLAVE')], HttpStatus::BAD_REQUEST); return response()->json(['message' => trans('api.SIN_CLAVE')], HttpStatus::BAD_REQUEST);
} }
// Verificar la clave secreta // Verificar la clave secreta proporcionada en los datos POST
if ($request->clave_secreta !== config('app.clave')) { $claveSecreta = $request->input('clave_secreta');
if ($claveSecreta !== config('app.clave')) {
return response()->json(['message' => trans('api.CLAVE_INCORRECTA')], HttpStatus::UNAUTHORIZED); return response()->json(['message' => trans('api.CLAVE_INCORRECTA')], HttpStatus::UNAUTHORIZED);
} }
$expirationTime = time() + (15 * 60); // 15 minuto $expirationTime = time() + (15 * 60); // 15 minutos
// Datos que quieres incluir en el JWT (puedes personalizarlo) // Datos que quieres incluir en el JWT
$payload = [ $payload = [
'iss' => 'tu-dominio.com', // Issuer del token 'iss' => 'tu-dominio.com', // Issuer del token
'iat' => time(), // Hora en que se creó el token 'iat' => time(), // Hora en que se creó el token
'exp' => $expirationTime, // Expiración de 15 minutos 'exp' => $expirationTime, // Expiración de 15 minutos
'clave_secreta' => $request->clave_secreta, // Datos personalizados en el token 'clave_secreta' => $claveSecreta, // Datos personalizados en el token
]; ];
// Generar el token JWT usando la clave secreta desde el .env // Generar el token JWT usando la clave secreta desde el .env
$jwt = JWT::encode($payload, config('app.jwt_secret'), 'HS256'); $jwt = JWT::encode($payload, config('app.jwt_secret'), 'HS256');
return response()->json([ return response()->json([
'token' => $jwt, 'token' => $jwt,
'expiracion_segundos' => $expirationTime - time(), // Tiempo en segundos hasta la expiración 'expiracion_segundos' => $expirationTime - time(), // Tiempo en segundos hasta la expiración
'tiempo_expiracion' => date('Y-m-d H:i:s', $expirationTime), // Fecha y hora de expiración 'tiempo_expiracion' => date('Y-m-d H:i:s', $expirationTime), // Fecha y hora de expiración
]); ]);
} }
} }

Loading…
Cancel
Save