|
|
|
@ -19,17 +19,23 @@ class AuthController extends Controller |
|
|
|
return response()->json(['message' => 'Credenciales inválidas'], 401); |
|
|
|
return response()->json(['message' => 'Credenciales inválidas'], 401); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$expirationTime = time() + (15 * 60); // 15 minuto |
|
|
|
|
|
|
|
|
|
|
|
// Datos que quieres incluir en el JWT (puedes personalizarlo) |
|
|
|
// Datos que quieres incluir en el JWT (puedes personalizarlo) |
|
|
|
$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' => time() + 60*15, // Expiración de 15 minutos |
|
|
|
'exp' => $expirationTime, // Expiración de 15 minutos |
|
|
|
'clave_secreta' => $request->clave_secreta // Datos personalizados en el token |
|
|
|
'clave_secreta' => $request->clave_secreta // 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(['token' => $jwt]); |
|
|
|
return response()->json([ |
|
|
|
|
|
|
|
'token' => $jwt, |
|
|
|
|
|
|
|
'expires_in' => $expirationTime - time(), // Tiempo en segundos hasta la expiración |
|
|
|
|
|
|
|
'expiration_time' => date('Y-m-d H:i:s', $expirationTime) // Fecha y hora de expiración |
|
|
|
|
|
|
|
]); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|