Contexto
Estoy creando un backend ahora mismo que tiene identificaciones únicas (creadas por nosotros mismos) para cada usuario y también necesita almacenar ciertos "tokens" u otros identificadores para un par de API de terceros diferentes. Cada usuario también tiene nombre de usuario y contraseña de inicio de sesión.
Pregunta
No puedo decidir entre dos vías de acción. El backend es para clientes móviles, iOS y Android, no estoy seguro de si esto importa.
Opción 1:
En el inicio de sesión del nombre de usuario y contraseña, devuelva todos los tokens para que para futuras llamadas a la API, el servidor solo puede usar las credenciales ya dadas En la llamada del cliente. Esto reduciría las consultas a la base de datos. para obtener las credenciales asociadas con el UID. He oído hablar de seguridad Preocupaciones por almacenar información en el cliente. Este problema de seguridad en el cliente parece ser el único con este enfoque.
Opción 2:
De lo contrario, el cliente simplemente envía el uid para la cuenta respectiva y el backend simplemente realiza consultas para obtener los identificadores de API relevantes para las diferentes APIs. Solo con tener que hacer muchas llamadas a obtener identificadores de API cada vez.
En una nota similar, está bien enviar los identificadores de API y únicos ¿Identificaciones de otros usuarios a un usuario en particular? Parece que no hay Incluso mucha más seguridad involucrada con el segundo enfoque porque Solo hay una capa adicional de trabajo que no proporciona seguridad adicional. en el sentido de que si alguien tiene acceso a la información del usuario como uid puede (para todos los propósitos y propósitos) utiliza los identificadores de API correspondientes indirectamente. ¿Alguna sugerencia sobre cuál usar?
Me estoy inclinando hacia la opción 1.
Intenté encontrar duplicados, no encontré ninguno. Lo siento si me lo perdí.