UNIZAR-30226-2024-02 / Back-end

MIT License
1 stars 2 forks source link

Implementar el login #10

Closed Juanguppy closed 6 months ago

Juanguppy commented 7 months ago

Implementación de la API web del sistema de identificación. Que espere dos parámetros (user & password [encryptada en cliente o en servidor?]) y compruebe contra la BD si las credenciales son correctas. Mirar esta API: https://developers.google.com/identity/openid-connect/openid-connect?hl=es-419 que facilita el uso y quizá renta (aunque hacer un login es trivial pero igual nos aporta beneficios)

FabiMur commented 7 months ago

Yo no me liaría implementando OAuth o librerias/APIs similares. Lo que tenia pensado es: Guardar el hash de la contraseña y utilizar eso para hacer login. Luego crear un JWT, devolverlo y que el front lo incluya en las peticiones posteriores para autentificación. Hice algo del estilo para SisInf.

FabiMur commented 7 months ago

Entiendo que la gracia de lo de encriptar la contraseña es guardar solo el hash en el servidor y que no se almacenen las contraseñas en raw, y hacer mas segura la transmision. Lo logico es encriptar en cliente y mandar el hash al server. Asi no pasan nunca contraseñas en raw por el server y mas importante aun, no se mandan por internet.

Juanguppy commented 7 months ago

Yo no me liaría implementando OAuth o librerias/APIs similares. Lo que tenia pensado es: Guardar el hash de la contraseña y utilizar eso para hacer login. Luego crear un JWT, devolverlo y que el front lo incluya en las peticiones posteriores para autentificación. Hice algo del estilo para SisInf.

sí la verdad q para algo tan sencillo como un login no hace falta liarse que literamente en 30min lo implementamos XD en sisinfo hicimos eso mismo pero con JSPs

Juanguppy commented 7 months ago

Entiendo que la gracia de lo de encriptar la contraseña es guardar solo el hash en el servidor y que no se almacenen las contraseñas en raw, y hacer mas segura la transmision. Lo logico es encriptar en cliente y mandar el hash al server. Asi no pasan nunca contraseñas en raw por el server y mas importante aun, no se mandan por internet.

yo también opino q es mejor encriptarla en cliente y enviarla encriptada al servidor, así se evitan más tipos de ataques.

737275 commented 6 months ago

Implementada la lógica y un token de sesión.