Actualmente estoy creando un módulo de autenticación y tengo una pregunta. He configurado un servidor con una API y quiero que mis usuarios se autentiquen en este servidor, pero uso AngularJS para el sitio. Todo con AngularJS es del lado del cliente, por lo que me preguntaba cómo configurar la ID de usuario sin que nadie pueda cambiarlo y pretender que es otra persona.
La forma en que estoy pensando hacer esto es que cuando un usuario inicia sesión en mi aplicación, creo una cadena aleatoria en mi servidor y la modifico. Luego lo envío a la aplicación y lo guardo tanto en el almacenamiento local de la aplicación como en la base de datos de mi servidor, y tengo la aplicación incluida en todas las solicitudes. De esta manera, cuando alguien realiza una solicitud, puedo verificar que la cadena que envían es la que está en mi base de datos; cuando un usuario cierra la sesión, borro el almacenamiento local y elimino la cadena de mi base de datos. Creo una nueva cadena la próxima vez que inician sesión.
¿Es esta una buena idea? Tal vez esta sea la forma habitual de hacerlo, pero no pude encontrar ninguna solución de autenticación gratuita en Internet. Como esta aplicación probablemente tendrá mucho tráfico, no estoy dispuesto a pagar por cada conexión a mi servidor.