Off Topic - ¿Opiniones sobre un modelo de sesiones?

 
Vista:
sin imagen de perfil

¿Opiniones sobre un modelo de sesiones?

Publicado por Jean Piffaut (1 intervención) el 25/11/2022 16:33:44
A modo de estudio quiero desarrollar una plantilla API la cual me permita tener lo básico de cualquier aplicación como podría ser la gestión de Usuarios y Sesiones.

Con eso en mente, quiero estandarizar las sesiones teniendo en mente oauth2, con el fin de poder generar sesiones simples de usuario y contraseña pero con una estructura similar a la que se usaría para iniciar sesión con Google.

Genere un modelo de relaciones: Trate de adjuntar la imagen pero no pude :( pero seria este
User: id, name, email
Credential: id, user_id, auth_type, username, token
Session: id, user_id, token, creation_date, last_activity, life_time

User: Seria el usuario clásico con información muy básica
Credential: Dependiendo del tipo de registro, el token variaría entre el token de Google o Facebook por ejemplo y en casos de registros simples, el token seria la contraseña hasheada.
Session: seria el registro de que este usuario esta activo actualmente en la APP, considerando su creación, el tipo de vida inactivo y la ultima actividad.

PD: Los id son string ya que tenia pensado aplicarlo en Firestore, pero al ser relacional me lo estoy replanteando.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro Andrade

¿Opiniones sobre un modelo de sesiones?

Publicado por Alejandro Andrade (50 intervenciones) el 29/03/2023 17:59:26
Su modelo de relaciones parece razonable y bien estructurado. La inclusión de un modelo de credenciales y tokens es una buena práctica para manejar la autenticación y autorización de usuarios, especialmente si se está implementando un sistema de sesión.

Sin embargo, tenga en cuenta que la decisión de utilizar tokens hasheados como la forma de autenticación para los usuarios puede no ser la mejor opción en términos de seguridad. Asegúrese de utilizar una técnica de hashing segura y un salt aleatorio para hacerlo más difícil de adivinar o atacar.

Además, aunque el modelo es adecuado para aplicaciones más simples, para aplicaciones más complejas con requisitos de seguridad más exigentes, es posible que desee considerar la implementación de un framework completo de autenticación y autorización, como OAuth2.0, que puede manejar casos de uso más avanzados y manejar mejor las vulnerabilidades de seguridad.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar