Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

126
Vistas
almacenamiento de inicio de sesión php jwt

Estoy creando una aplicación web con CodeIgniter 4 donde implementé una API REST para registrarme e iniciar sesión y una página de perfil solo para probar mi inicio de sesión.

Tengo un formulario de inicio de sesión que envía una solicitud de publicación de búsqueda de javascript a mi API y recibo un token jwt. esto está funcionando

Ahora estoy en la situación en la que creo que no entendí el principio. Quiero que el usuario permanezca conectado y no necesite volver a iniciar sesión cada vez. El token caduca después de las 12h.

Y quiero usar php (si es posible) ya que toda la aplicación se ejecuta en php.

Actualmente, tengo una pequeña función de javascript para almacenar mi token:

 const store = {}; store.setJWT = (data) => { this.JWT = data; };

Pero esto no es seguro contra la recarga de la página.

Además, estoy creando una cookie con php, cuando el usuario inicia sesión:

 helper('cookie'); set_cookie([ 'name' => 'login', 'value' => $token, 'expire' => $exp, 'httponly' => true, 'secure' => true, ]);

Puedo obtener datos de la API usando la cookie o el objeto de la store .

 const token = getCookie('login'); const res = await fetch('/profile', { headers: { 'Authorization': `Bearer ${token}` // or store.JWT } });

Entonces... lo que quiero es: El usuario va a una URL protegida, por ejemplo, https://myapp.com/profile y si ha iniciado sesión, tiene acceso. Si no, se le redirige a la página de inicio de sesión.

¿Es una buena idea usar la cookie para almacenar el jwt? ¿O entendí completamente mal la idea de JWT y no se usa para iniciar sesión?

Además: todavía no sé si construir el inicio de sesión como una API fue la mejor idea.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

En primer lugar, no hay nada de malo en construir "iniciar sesión con API". Es una práctica común. Y JWT se adapta perfectamente a la autenticación.

Seguro que puede almacenar el token JWT dentro de una cookie, pero en mi opinión es un poco incorrecto. Por lo general, los tokens JWT se almacenan en el almacenamiento local en el lado del cliente. Persistirá después de recargar la página.

Establecer token en el almacenamiento local:

 localStorage.setItem('token', token);

Obtenga el token del almacenamiento local:

 token = localStorage.getItem('token');

Para entender mejor la concepción del JWT puedes copiar algún token (sin Bearer) y pegarlo en jwt.io. Básicamente, JWT contiene toda la información requerida sobre el usuario y el servidor puede confiar en esta información.

Y cuando configuras la cookie de esta manera

 set_cookie([ 'name' => 'login', 'value' => $token, 'expire' => $exp, 'httponly' => true, 'secure' => true, ]);

Es una exageración. JWT posible ya contiene toda esta información y puede extraerla del token.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda