

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Adición del inicio de sesión de redes sociales a un grupo de usuarios
<a name="tutorial-create-user-pool-social-idp"></a>

Ofrecer a los usuarios la posibilidad de iniciar sesión en la aplicación a través de sus proveedores de identidades públicos o de redes sociales existentes puede mejorar su experiencia de autenticación. Los grupos de usuarios de Amazon Cognito se integran con los proveedores de identidad social más populares (IdPs), como Facebook, Google, Amazon y Apple, lo que ofrece a los usuarios opciones de inicio de sesión prácticas con las que ya están familiarizados.

Al configurar el inicio de sesión mediante redes sociales, ofrece a los usuarios una alternativa a la creación de una cuenta exclusiva para su aplicación. Esto puede mejorar las tasas de conversión y hacer que el proceso de registro sea más fluido. Desde la perspectiva del usuario, puede utilizar las credenciales de redes sociales que ya posee para autenticarse rápidamente, sin la molestia de tener que recordar otro nombre de usuario y contraseña.

La configuración de un IdP de redes sociales en su grupo de usuarios supone seguir algunos pasos clave. Debe registrar la aplicación en el proveedor de redes sociales para obtener un identificador de cliente y un secreto. A continuación, puede agregar la configuración del IdP de redes sociales a su grupo de usuarios, especificando los ámbitos que desea solicitar y los atributos del grupo de usuarios que desea asignar a partir de los atributos del IdP. En tiempo de ejecución, Amazon Cognito administra el intercambio de tokens con el proveedor, asigna los atributos de los usuarios y emite los tokens para la aplicación en el formato de grupo de usuarios compartido.

## Registrarse en un proveedor de identidad social
<a name="cognito-user-pools-social-step-1"></a>

Para poder crear un IdP de redes sociales con Amazon Cognito, debe registrar su aplicación en él para recibir un ID y un secreto del cliente.

### Para registrar una aplicación en Facebook
<a name="register-an-app-with-facebook"></a>

1. Cree una [cuenta de desarrollador con Facebook](https://developers.facebook.com/docs/facebook-login).

1. [Inicie sesión](https://developers.facebook.com/) con sus credenciales de Facebook.

1. En el menú **My Apps** (Mis aplicaciones), elija **Create New App** (Crear nueva aplicación). 

   Si no tiene una aplicación de Facebook, verá otra opción. Seleccione **Crear una aplicación**.

1. En la página **Create an app**, elija un caso de uso para la aplicación y, a continuación, elija **Next**.

1. Ingrese un nombre para la aplicación de Facebook y elija **Create App**.

1. En la barra de navegación de la izquierda, elija **App Settings** y luego **Basic**.

1. Tome nota del valor de **App ID** (ID de aplicación) y de **App Secret** (Secreto de la aplicación). Los usará en la sección siguiente.

1. Elija **\$1 Add platform** en la parte inferior de la página.

1. En la pantalla **Seleccionar la plataforma**, seleccione las plataformas y, a continuación, seleccione **Siguiente**.

1. Seleccione **Save changes (Guardar cambios)**.

1. Para**Dominios de aplicación**, introduzca el dominio del grupo de usuarios.

   ```
   https://your_user_pool_domain
   ```

1. Seleccione **Save changes (Guardar cambios)**.

1. En la barra de navegación elija **Productos** y, a continuación, **Configurar** en **Iniciar sesión con Facebook**.

1. En el menú **Iniciar sesión con Facebook** **Configurar**, elija **Configuración**.

   Introduzca la URL de redireccionamiento en **Valid OAuth ** Redirect. URIs La URL de redirección se compone de su dominio de grupo de usuarios con el punto de conexión `/oauth2/idpresponse`.

   ```
   https://your_user_pool_domain/oauth2/idpresponse
   ```

1. Seleccione **Save changes (Guardar cambios)**.

### Para registrar una aplicación en Amazon
<a name="register-an-app-with-amazon"></a>

1. Cree una [cuenta de desarrollador con Amazon](https://developer.amazon.com/login-with-amazon).

1. [Inicie sesión](https://developer.amazon.com/lwa/sp/overview.html) con las credenciales de Amazon.

1. Debe crear un perfil de seguridad de Amazon para recibir un ID y un secreto de cliente de Amazon.

   Elija **Aplicaciones y servicios** en la barra de navegación de la parte superior de la página y, a continuación, elija **Login with Amazon**.

1. Elija **Create a Security Profile** (Crear un perfil de seguridad).

1. Escriba un valor en **Security Profile Name** (Nombre del perfil de seguridad), en **Security Profile Description** (Descripción del perfil de seguridad) y en **Consent Privacy Notice URL** (URL del aviso sobre consentimiento de confidencialidad).

1. Seleccione **Save** (Guardar).

1. Elija **Client ID** (ID de cliente) y **Client Secret** (Secreto de cliente) para mostrar el ID de cliente y el secreto. Los usará en la sección siguiente.

1. Coloque el cursor sobre el engranaje, elija **Web Settings** (Configuración de web) y, a continuación, elija **Edit** (Editar).

1. Escriba el dominio del grupo de usuarios en **Allowed Origins** (Orígenes permitidos).

   ```
   https://<your-user-pool-domain>
   ```

1. Introduzca el dominio de su grupo de usuarios con el `/oauth2/idpresponse` punto final en **Allowed Return URLs**.

   ```
   https://<your-user-pool-domain>/oauth2/idpresponse
   ```

1. Seleccione **Save**.

### Para registrar una aplicación en Google
<a name="register-an-app-with-google"></a>

Para obtener más información sobre la OAuth versión 2.0 en la plataforma Google Cloud, consulta [Más información sobre la autenticación y la autorización](https://developers.google.com/workspace/guides/auth-overview) en la documentación de Google Workspace para desarrolladores.

1. Cree una [cuenta de desarrollador con Google](https://developers.google.com/identity).

1. Inicie sesión en la [consola de Google Cloud Platform](https://console.cloud.google.com/home/dashboard).

1. En la barra de navegación superior, elija **Select a project** (Seleccionar un proyecto). Si ya tiene un proyecto en la plataforma de Google, este menú muestra tu proyecto predeterminado.

1. Seleccione **NEW PROJECT** (NUEVO PROYECTO).

1. Escriba un nombre para su proyecto y, a continuación, elija **CREATE** (CREAR).

1. En la barra de navegación izquierda, selecciona **Servicios APIs y**, a continuación, selecciona la pantalla de **consentimiento de Oauth**.

1. Introduzca la información de la aplicación, un **dominio de aplicaciones**, los **dominios autorizados** y la **información de contacto del desarrollador**. Los **dominios autorizados** deben incluir `amazoncognito.com` y la raíz del dominio personalizado. Por ejemplo: `example.com`. Elija **SAVE AND CONTINUE** (GUARDAR Y CONTINUAR).

1. 1. En **Ámbitos**, selecciona **Añadir o eliminar ámbitos** y, a continuación, selecciona, como mínimo, los siguientes ámbitos. OAuth

   1. `.../auth/userinfo.email`

   1. `.../auth/userinfo.profile`

   1. openid

1. En **Test Users** (Usuarios de prueba), elija **Add Users** (Añadir usuarios). Introduzca su dirección de correo electrónico y cualquier otro usuario de prueba autorizado y, a continuación, elija **GUARDAR Y CONTINUAR**.

1. **Vuelva a expandir la barra de navegación izquierda, elija **Servicios APIs y**, a continuación, elija Credenciales.** 

1. Elija **CREAR CREDENCIALES** y, a continuación, elija el **ID de OAuth cliente**.

1. Seleccione un **tipo de aplicación**y asigne un **nombre** al cliente.

1. En ** JavaScript Orígenes autorizados**, selecciona **AGREGAR URI**. Introduzca el dominio del grupo de usuarios.

   ```
   https://<your-user-pool-domain>
   ```

1. En **Redirección autorizada URIs**, selecciona **AGREGAR URI**. Introduzca la al punto de conexión `/oauth2/idpresponse` de su dominio de grupo de usuarios.

   ```
   https://<your-user-pool-domain>/oauth2/idpresponse
   ```

1. Seleccione **CREAR**.

1. Almacene de forma segura los valores que muestra Google en **ID del cliente** y **Secreto del cliente**. Proporcione estos valores a Amazon Cognito cuando agregue un proveedor de IdP Google.

### Para registrar una aplicación con Apple, siga estos pasos:
<a name="register-an-app-with-apple"></a>

Para obtener más información sobre la configuración de inicio de sesión con Apple, consulte [Configuring Your Environment for Sign in with Apple](https://developer.apple.com/documentation/signinwithapple/configuring-your-environment-for-sign-in-with-apple) en la documentación del desarrollador de Apple.

1. Cree una [cuenta de desarrollador en Apple](https://developer.apple.com/programs/enroll/).

1. [Inicie sesión](https://developer.apple.com/account/#/welcome) con las credenciales de Apple.

1. En la barra de navegación de la izquierda, elija **Certificates, Identifiers & Profiles** (Certificados, identificadores y perfiles).

1. En la barra de navegación de la izquierda, elija **Identifiers** (Identificadores).

1. En la página **Identifiers** (Identificadores), elija el icono **\$1**.

1. En la página **Registrar un nuevo identificador**, selecciona **Aplicación** y IDs, a continuación, selecciona **Continuar**.

1. En la página **Seleccionar un tipo**, elija **Aplicación** y, a continuación, elija **Continuar**.

1. En la página **Register an App ID** (Registrar un ID de aplicación), haga lo siguiente:

   1. En **Description** (Descripción), introduzca una descripción.

   1. En **App ID Prefix** (Prefijo de ID de aplicación), introduzca un **ID del paquete**. Anote el valor de la**Prefijo de ID de aplicación**. Utilizarás este valor después de elegir Apple como proveedor de identidad en[Configuración de un grupo de usuarios con un IdP social](cognito-user-pools-social-idp.md#cognito-user-pools-social-idp-step-2).

   1. En **Capabilities** (Funcionalidades), elija **SignInWithApple** y, a continuación, elija **Edit** (Editar).

   1. **En la página Iniciar sesión con Apple: configuración del ID de la aplicación**, elige configurar la aplicación como principal o agrupada con otra aplicación y IDs, a continuación, selecciona **Guardar**.

   1. Elija **Continue** (Continuar).

1. En la página **Confirm your App ID** (Confirmar ID de Apple), elija **Register** (Registrarse).

1. En la página **Identifiers** (Identificadores), elija el icono **\$1**.

1. En la página **Registrar un nuevo identificador**, selecciona **Servicios** y IDs, a continuación, selecciona **Continuar**.

1. En la página **Register a Services ID** (Registrar un ID de servicio), haga lo siguiente:

   1. En **Description** (Descripción), introduzca una descripción.

   1. En **Identificador** (Identifier), ingrese un identificador. Tome nota del ID de servicios, porque necesitará este valor para configurar Apple como proveedor de identidades en el [Configuración de un grupo de usuarios con un IdP social](cognito-user-pools-social-idp.md#cognito-user-pools-social-idp-step-2).

   1. Seleccione **Continue (Continuar)** y, a continuación, **Register (Registrarse)**.

1. Elija el ID de servicios que acaba de crear en la página de identificadores.

   1. Seleccione **SignInWithApple** y, a continuación, elija **Configure** (Configurar).

   1. En la página **Web Authentication Configuration** (Configuración de autenticación web), seleccione el ID de aplicación creado anteriormente como**Primary App ID** (ID de aplicación principal). 

   1. Selecciona el icono **\$1** situado junto al **sitio web URLs**. 

   1. En **Domains and subdomains** (Dominios y subdominios), introduzca el dominio del grupo de usuarios sin un prefijo `https://`.

      ```
      <your-user-pool-domain>
      ```

   1. En **Retorno URLs**, introduce la ruta al `/oauth2/idpresponse` punto final del dominio de tu grupo de usuarios.

      ```
      https://<your-user-pool-domain>/oauth2/idpresponse
      ```

   1. Elija **Siguiente** y, a continuación, elija **Listo**. No es necesario verificar el dominio.

   1. Elija ** Continue** (Continuar) y, a continuación, elija **Save** (Guardar).

1. En la barra de navegación de la izquierda, elija **Keys** (Claves).

1. En la página **Keys** (Claves), elija el icono **\$1**.

1. En la página **Register a New Key** (Registrar una nueva clave), haga lo siguiente:

   1. En **Key Name** (Nombre de clave), escriba un nombre de clave. 

   1. Elija **SignInWithApple** y, a continuación, **Configure** (Configurar).

   1. En la página **Configurar clave**, seleccione el ID de aplicación creado anteriormente como **ID de aplicación principal**. Seleccione **Save**.

   1. Seleccione **Continue** (Continuar) y, a continuación, **Register** (Registrarse).

1. En la página **Descargar clave**, elija **Descargar** para descargar la clave privada, tome nota del **ID de la clave** y, a continuación, seleccione **Listo**. Necesitará esta clave privada y el valor de **ID de clave** que se muestra en esta página después de elegir Apple como proveedor de identidad en [Configuración de un grupo de usuarios con un IdP social](cognito-user-pools-social-idp.md#cognito-user-pools-social-idp-step-2).

## Añadir un proveedor de identidad social al grupo de usuarios
<a name="cognito-user-pools-social-step-2"></a>

En esta sección configurará un proveedor de identidad social en el grupo de usuarios utilizando el ID y el secreto de cliente de la sección anterior.

**Para configurar un proveedor de identidad social para un grupo de usuarios con Consola de administración de AWS**

1. Vaya a la [consola de Amazon Cognito](https://console.aws.amazon.com/cognito/home). Es posible que se le pidan sus AWS credenciales.

1. Elija **User Pools** (Grupos de usuarios).

1. Elija un grupo de usuarios existente en la lista o [cree un grupo de usuarios](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-as-user-directory.html).

1. Seleccione el menú **Proveedores sociales y externos**. Localizar**Inicio de sesión federado**y seleccione**Añadir un proveedor de identidad**.

1. Elija un proveedor de identidad de red social: **Facebook**, **Google**, **Login with Amazon** o **Apple**.

1. Elija uno de los siguientes pasos, según su elección de proveedor de identidad social:
   + **Google** y **Login with Amazon**: escriba el **ID de cliente de la aplicación** y la **Clave secreta de cliente de aplicación** que se ha generado en la sección anterior.
   + **Facebook**: escriba el **ID de cliente de la aplicación** y la **Clave secreta de cliente de aplicación** que se ha generado en la sección anterior y, a continuación, elija una versión de API (por ejemplo, la versión 2.12). Recomendamos elegir la versión más reciente disponible posible, ya que cada versión de la API de Facebook tiene un ciclo de vida y una fecha de obsolescencia. Los ámbitos y atributos de Facebook pueden variar según las versiones de la API. Te recomendamos que pruebes tu inicio de sesión de identidad social con Facebook para asegurarte de que la federación funcione según lo previsto.
   + **Inicio de sesión con Apple**: escriba el **ID de servicios**, **ID de equipo**, **ID de clave** y la **clave privada** que se ha generado en la sección anterior.

1. Introduzca los nombres de los **ámbitos autorizados** que desea utilizar. Los ámbitos definen a qué atributos de usuario (como `name` y `email`) desea acceder con su aplicación. En el caso de Facebook, deben separarse con comas. En el caso de Google y Login with Amazon, deben separarse con espacios. Para SignInWithApple, marque las casillas de verificación de los ámbitos a los que desee acceder.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/cognito/latest/developerguide/tutorial-create-user-pool-social-idp.html)

   Al usuario de la aplicación se le pedirá que esté de acuerdo con proporcionar estos atributos a su aplicación. Para obtener más información acerca de sus ámbitos, consulte la documentación de Google, Facebook, Login with Amazon o Inicio de sesión con Apple. 

   En el caso de Sign in with Apple (Inicio de sesión con Apple), estos son escenarios de usuario en los que es posible que no se devuelvan los ámbitos.
   + El usuario final se encuentra con errores después de salir de la página de inicio de sesión de Apple (puede ser un error interno de Amazon Cognito o de cualquier cosa que haya escrito el desarrollador).
   + El identificador de ID de servicio se usa en grupos de usuarios y and/or otros servicios de autenticación.
   + Un desarrollador agrega ámbitos adicionales después de que el usuario inicie sesión. Los usuarios solo recuperan información nueva cuando se autentican y cuando actualizan sus tokens.
   + Un desarrollador ha eliminado un usuario y luego ese mismo usuario vuelve a iniciar sesión sin quitar la aplicación de su perfil de ID de Apple.

1. Asigne atributos de su proveedor de identidad a su grupo de usuarios. Para obtener más información, consulte [Cosas que debe saber acerca de los asignaciones](cognito-user-pools-specifying-attribute-mapping.md#cognito-user-pools-specifying-attribute-mapping-requirements).

1. Seleccione **Crear**.

1. En el menú **Clientes de aplicación**, elija uno de los clientes de aplicación en la lista y seleccione **Editar la configuración de interfaz de usuario alojada**. Agregue el nuevo proveedor de identidad social al cliente de aplicación en **Identity providers (Proveedores de identidad)**.

1. Seleccione **Save changes (Guardar cambios)**.

## Probar la configuración del proveedor de identidad social
<a name="cognito-user-pools-social-step-3"></a>

Puede crear una URL de inicio de sesión con los elementos de las dos secciones anteriores. Úselo para probar la configuración del proveedor de identidad social.

```
https://mydomain.auth.us-east-1.amazoncognito.com/login?response_type=code&client_id=1example23456789&redirect_uri=https://www.example.com
```

Puede encontrar el dominio en la página de la consola **Domain name** (Nombre de dominio) del grupo de usuarios. El valor de client\$1id se encuentra en la página **App client settings (Configuración del cliente de aplicación)**. Use la URL de devolución de llamada para el parámetro **redirect\$1uri**. Esta es la URL de la página a la que se redirigirá al usuario después de una autenticación correcta.

**nota**  
Amazon Cognito cancela las solicitudes de autenticación que no se completan en 5 minutos y redirige al usuario al inicio de sesión administrado. La página muestra un mensaje de error `Something went wrong`.