¿Cómo almacenar las credenciales de usuario en una aplicación web? [cerrado]

0

Utilizo la API de Twitter en mi aplicación. Solía almacenar los tokens OAuth 2 de la cuenta de Twitter asociada dentro de la configuración de la aplicación.

Pero ahora los usuarios de la aplicación deben poder, mediante la interfaz web, asociar cualquier número de cuentas de Twitter y, por lo tanto, sus credenciales.

¿Cuál sería una buena manera de almacenar todas las credenciales?

    
pregunta Andriy Maletsky 23.12.2016 - 15:07
fuente

2 respuestas

3

Como se describe en API OAuth doc de Twitter , las credenciales de Twitter del usuario no deberían ser necesarias. En otras palabras, cuando conecte por primera vez a su usuario a su cuenta de Twitter, debe abrir una página de Twitter que le permita a su aplicación acceder a su información de Twitter. Si el usuario aún no ha iniciado sesión en Twitter, a través de la página de Twitter, ingresará sus credenciales de Twitter. Esto mantiene las credenciales de Twitter a salvo de usted. A su vez, debe tener un token para su aplicación que mantenga muy seguro (cifrado en su sitio o en su aplicación) y un token para cada usuario de Twitter que haya aceptado permitir que su aplicación tenga acceso. Al acceder a Twitter, utiliza el token de la aplicación para confirmar quién es usted y el token de usuario para confirmar quién es el usuario. Mientras almacene estos dos en un lugar seguro, nadie podrá falsificar el acceso.

La mayoría de las personas lo hará almacenando un token de aplicación con (o en) un archivo de configuración de la aplicación y los tokens de usuario de Twitter en una base de datos. Aquí hay pasos de seguridad adicionales para esta configuración:

  • Almacene el archivo de configuración y la base de datos por separado. Por ejemplo, almacene el archivo de configuración en un servidor web y almacene la base de datos en un servidor de base de datos. Esto hace que el acceso a estos dos datos clave sea más difícil de obtener. Desafortunadamente, significa que necesita servidores (o máquinas virtuales ... o contenedores).
  • Gire el token de la aplicación con regularidad (de la misma manera que podría rotar una contraseña o PIN).
  • Solo solicite a Twitter su token para poder acceder al mínimo de lo que necesita. De esta manera, si hay una violación de seguridad, tienen acceso limitado a las cuentas de Twitter de sus usuarios.
  • Asegure los servidores que almacenan el token y la base de datos lo mejor que pueda.
respondido por el Forest J. Handford 23.12.2016 - 15:26
fuente
2

Si te entendí correctamente, quieres que cada usuario tenga varias cuentas de Twitter. En ese caso, no es necesario que almacene las credenciales de usuario, solo necesita almacenar múltiples tokens OAuth2 para cada usuario

    
respondido por el Mr. E 23.12.2016 - 15:33
fuente

Lea otras preguntas en las etiquetas