Registro de usuario simple con Amazon Cognito
En el curso de la construcción de una aplicación para Android me he encontrado con la pesada cuestión de la gestión de usuarios.
Veo por todos lados servicios que permiten a los usuarios registrarse en mi aplicación usando google, facebook, amazon, twitter, etc. (Amazon Cognito, Janrain, Google Identity Toolkit).
- Android aws error code bucket ya poseído por usted
- AWS S3 Java SDK: detecta el sesgo de tiempo / reloj de forma programática?
- Cómo reproducir un video de Amazon S3 en Android App?
- ¿Cómo probar las notificaciones de GCM sin la aplicación?
- AmazonServiceException: El usuario no está autorizado para realizar: dynamodb: DescribeTable Código de estado: 400; Código de error: AccessDeniedException
Idealmente, me gustaría hacer uso de Amazon Web Services en toda mi aplicación y, por lo tanto, necesitaría hacer uso de Amazon Cognito. Sin embargo, por lo que puedo decir Cognito sólo proporciona para el registro de usuario simple a través de Facebook, Amazon y Google, con la capacidad añadida de combinar con las identidades autenticadas por el desarrollador.
Después de varias horas de investigación en el desarrollo de mi propia estructura de proveedor de identidad, la implementación de protocolos de autenticación y todo ese jazz, he llegado a la conclusión no tengo ni idea de lo que estoy haciendo en esa área y me sería mejor servir dejándolo solo por ahora.
Todo lo que quiero es permitir que los usuarios se registren para usar mi aplicación con un correo electrónico, nombre de usuario y contraseña, con la opción de fusionarse con sus cuentas sociales más tarde, a través de Amazon Cognito. Simplemente no puedo encontrar respuestas sencillas en ningún lado.
Por lo tanto, ¿cómo puedo crear un flujo de registro de usuario simple que crea usuarios que pueden ser vinculados posteriormente a sus otras cuentas sociales a través de Amazon Cognito?
- Cargar una imagen de Android a Amazon S3?
- Cómo firmar fuera de aws cognito - android?
- ¿Debo eliminar puntos finales de SNS para GCM?
- SSLException debido al elemento de carga para el servicio de Amazon
- ¿Puedes configurar Android Studio / SDK Manager para buscar / obtener la última versión de AWS SDK para Android?
- Notificaciones push de Android a una lista personalizada de suscriptores de un tema utilizando Amazon SNS
- Envío de una carga útil de notificación únicamente a GCM mediante AWS SNS
- Lista blanca de claves de la barra de herramientas de Google Cloud Messaging direcciones IP con escala automática
Amazon anunció últimamente pools de usuarios que funcionan como un proveedor de autenticación totalmente administrado.
Cuidan de toda la lógica básica como la inscripción de usuario, la verificación de correo electrónico, restablecimiento de contraseña, etc. Y también proporcionan algunas características más avanzadas como la autenticación de múltiples factores o verificación de número de teléfono.
Lo bueno es que estas agrupaciones de usuarios escalan hasta cientos de millones de usuarios y sólo los usas de la misma manera que habrías usado otros proveedores de autenticación (o, por supuesto, puedes combinarlos). Echa un vistazo a esto para ver cómo configurarlos.
Amazon Cognito no es un proveedor de autenticación, por lo que si desea registrar a sus usuarios con un correo electrónico, nombre de usuario y contraseña, tendrá que implementar su propio backend, con una base de datos para almacenar toda esta información de usuario. Puesto que usted dijo que desea utilizar AWS en su aplicación, la integración de su back-end con Amazon Cognito le permitirá definir políticas para que sus usuarios puedan acceder a otros recursos en AWS. Un ejemplo de esto sería cargar archivos a S3 directamente desde tu aplicación, usando una política que permite a tus usuarios hacer esto. Podrá vincular sus cuentas de usuario con otros usuarios de proveedores de identidad (por ejemplo, usuarios de Facebook) con Amazon Cognito también.
Echa un vistazo a este blogpost si quieres entender mejor cómo Cognito trabaja con usuarios autenticados por el desarrollador: http://mobile.awsblog.com/post/Tx2FL1QAPDE0UAH/Understanding-Amazon-Cognito-Authentication-Part-2-Developer-Authenticated Ident
También estaba curioso cómo podemos integrar la autenticación en Amazon Cognito y llegó a la conclusión de que la mejor manera de utilizar un servicio de autenticación.
Somos una pequeña empresa con un equipo muy pequeño, por lo que la velocidad de implementación y un API limpio fueron grandes factores. También cuesta. Las dos opciones principales son DailyCred y LoginRadius.
DailyCred (Nos gusta este el mejor)
- Positivos – Clean easy API, $ 25 por 50k usuarios (1m usuarios = ~ $ 500)
- Negativos – dudoso si todavía estarán en el negocio, pero en sus preguntas más frecuentes dijeron que entregarían código opensource si se fueron debajo.
LoginRadius
- Positivos – Algo utilizable API, precios razonables (1m usuarios = ~ $ 1000)
- Negativas – API no es tan limpia como DailyCred
Estos son algunos otros servicios que están disponibles:
- Parse – Vago modelo de precios y también rumores de los problemas de tiempo de espera
- StormPath – No estoy seguro de su API. También un poco caro.
- Gigya – Enterprise, demasiado grande para mí
- JanRain – Enterprise, demasiado grande para mí
- AuthRocket – Muy caro
- UserApp.io – Ya no está disponible
Amazon Cognito se puede utilizar con su propio ID de usuario autenticado. Una vez registrado / login / authenticate un usuario en DailyCred.
Espero que ayude.
Cognito ahora admite el flujo de usuario de autenticación y de autenticación con la nueva característica de grupos de usuarios .
- Android BLE: recuperar el servicio UUID en la devolución de llamada onLeScan () cuando se anuncia desde iOS Peripheral
- Error de Android: MultipartEntity, la solicitud enviada por el cliente fue sintácticamente incorrecta