# ¿Que es Cognito?

Amazon Cognito es un servicio de AWS diseñado para facilitar la adición de autenticación, autorización y gestión de usuarios para aplicaciones web y móviles en la nube de una manera segura y escalable. Permite a los desarrolladores concentrarse en la creación de experiencias de usuario excepcionales sin la necesidad de preocuparse por la complejidad que conlleva la gestión segura de identidades y el almacenamiento de información de usuarios. Cognito se integra fácilmente con otras soluciones de AWS y servicios de terceros, proporcionando una solución robusta para gestionar la identidad y el acceso de usuarios.

## <mark style="color:orange;">Características Principales de Amazon Cognito</mark>

* <mark style="color:orange;">**Autenticación de Usuarios**</mark><mark style="color:orange;">:</mark> Amazon Cognito proporciona autenticación de usuarios mediante el uso de proveedores de identidad social como Facebook, Google y Amazon, así como mediante proveedores de identidad SAML 2.0 y proveedores de identidad propios (a través de Amazon Cognito User Pools).
* <mark style="color:orange;">**Pools de Usuarios**</mark><mark style="color:orange;">:</mark> Los desarrolladores pueden crear y gestionar directorios de usuarios que escalan a millones de usuarios, proporcionando sign-up y sign-in a sus aplicaciones. Las User Pools ofrecen diversas opciones de personalización y seguridad, como verificación de correo electrónico y teléfono, recuperación de contraseñas, y autenticación multifactor (MFA).
* <mark style="color:orange;">**Pools de Identidades**</mark><mark style="color:orange;">:</mark> Permiten otorgar a los usuarios acceso temporal y limitado a otros servicios de AWS. Con Identity Pools, los usuarios autenticados pueden acceder directamente a los recursos de AWS, como leer un objeto de Amazon S3 o escribir en una tabla de DynamoDB, sin necesidad de pasar por un backend intermedio.
* <mark style="color:orange;">**Sincronización de Datos**</mark><mark style="color:orange;">:</mark> Amazon Cognito sincroniza los datos de estado del usuario en múltiples dispositivos, permitiendo una experiencia de usuario coherente independientemente del dispositivo que utilicen.
* <mark style="color:orange;">**Seguridad y Cumplimiento**</mark><mark style="color:orange;">:</mark> Cognito ayuda a cumplir con el GDPR y otras normativas de privacidad. Ofrece características como cifrado de datos en reposo y en tránsito, y la posibilidad de utilizar AWS CloudTrail para auditar las llamadas a la API de Cognito.

## <mark style="color:orange;">Beneficios de Usar Amazon Cognito</mark>

* <mark style="color:orange;">**Simplicidad**</mark><mark style="color:orange;">:</mark> Reduce la complejidad de crear una solución de autenticación propia y manejar directamente contraseñas y tokens de seguridad.
* <mark style="color:orange;">**Escalabilidad**</mark><mark style="color:orange;">:</mark> Diseñado para escalar desde unos pocos usuarios hasta millones, sin la necesidad de reestructurar o rediseñar la solución de autenticación.
* <mark style="color:orange;">**Personalización y Flexibilidad**</mark><mark style="color:orange;">:</mark> Ofrece amplias opciones de personalización para el flujo de autenticación y la interfaz de usuario, lo que permite adaptarse a las necesidades específicas de cada aplicación.
* <mark style="color:orange;">**Integración**</mark><mark style="color:orange;">:</mark> Se integra de manera fluida con otros servicios de AWS y con aplicaciones móviles y web, facilitando la creación de flujos de trabajo completos de backend que incluyen autenticación y autorización de usuarios.

Te recomendamos la siguiente herramienta:

{% embed url="<https://github.com/padok-team/cognito-scanner>" %}
