Esto parece ser un problema recurrente para mí ya que parece que gravito alrededor de las aplicaciones móviles en los últimos años. Deseo autenticar y autorizar a los usuarios de dispositivos móviles además de a los usuarios de la web. Necesito que esto no tenga problemas para que los usuarios puedan tener una cuenta web sin causar interrupciones en sus datos. Quiero que la solución sea arquitectónica en el tema, no específica de ningún lenguaje/marco.Arquitectura para Autenticación/Autorización de usuarios móviles y web
Requisitos/supuestos
- Los usuarios móviles deben ser capaces de utilizar la aplicación nativa sin un inicio de sesión, incluso para el aporte de contenidos (marca de favoritos, subir fotos, etc).
- Los usuarios de dispositivos móviles deben autenticarse de forma segura y única en el servicio web, incluso sin especificar las credenciales de la cuenta.
- El usuario móvil puede tener varios dispositivos que no se conocen entre sí.
- El usuario del dispositivo móvil debería poder Registrarse/Iniciar sesión, que debe incluir cualquier contenido en la propiedad de la cuenta. Esta "sincronización" debería ocurrir con cada cuenta que posteriormente inicie sesión.
- No importa si se creó una cuenta en un dispositivo móvil o web.
Arquitecturas Considerado
- NO camisa, ningunos zapatos, NO LOGIN = NO CONTRIBUCIÓN. Requiere inicio de sesión para contribuir contenido de cualquier tipo. Esto evita la necesidad de "sincronizar" cuentas de dispositivos con una cuenta maestra. Simplemente requiere un solo nombre de usuario/contraseña + tokens para que los dispositivos inicien sesión. Objetos del servidor: Usuario, Rol
- Autenticación automática de varios dispositivos. El servidor negocia con el dispositivo y le entrega las credenciales que almacena el dispositivo. Cada dispositivo se autentica automáticamente y se asocia con una cuenta anónima hasta que se registre/inicie sesión. Si se produce el registro, la cuenta anónima se convierte en cuenta conocida. Si se produce el inicio de sesión, el contenido de la cuenta anónima se transfiere a una cuenta conocida y luego se descarta. Los dispositivos que pierden los detalles de autenticación automática obtendrán nuevos detalles de autenticación, y la cuenta anónima anterior se abandonará (y luego se descartará) y no podrá restaurarse, ya que nunca se convirtió en una cuenta conocida. Objetos del servidor: usuario, rol, dispositivo
¿Cuál cree que es una buena solución? ¿Uno de estos, o algo más?
Me gusta mucho su línea de pensamiento. No estoy seguro de que realmente ilustra las técnicas comunes para abordar este problema en particular, pero estoy muy agradecido por su respuesta. (Tenga en cuenta que leí esta respuesta en 2010, pero me sentí obligado a hacerle saber ahora que fue apreciada y útil) –