

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.

# Uso de proveedores de identidades de redes sociales con un grupo de usuarios
<a name="cognito-user-pools-social-idp"></a>

Los usuarios de web y aplicaciones móviles pueden iniciar sesión a través de proveedores de identidad de redes sociales como Facebook, Google, Amazon y Apple. Con la IU web alojada e incorporada, Amazon Cognito proporciona el control y la administración de los tokens de los usuarios autenticados por todos los proveedores de identidad. De esta forma, los sistemas backend pueden estandarizar un conjunto de tokens para los grupos de usuarios. Debe habilitar el inicio de sesión administrado para que se integre con los proveedores de identidad sociales compatibles. Cuando Amazon Cognito crea sus páginas de inicio de sesión gestionadas, crea puntos de enlace OAuth 2.0 que Amazon Cognito y su OIDC y sus redes sociales utilizan para intercambiar información. IdPs Para obtener más información, consulte la [Referencia de la API de Auth para grupos de usuarios de Amazon Cognito](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-userpools-server-contract-reference.html).

Puede añadir un IDP social en la AWS CLI o la Consola de administración de AWS API de Amazon Cognito, o bien utilizar la misma. 

**nota**  
El inicio de sesión a través de un tercero (federación) está disponible en los grupos de usuarios de Amazon Cognito. Esta característica es independiente de la federación a través de grupos de identidades de Amazon Cognito (identidades federadas).

**Topics**
+ [Configuración de una aplicación y una cuenta de desarrollador de IdP social](#cognito-user-pools-social-idp-step-1)
+ [Configuración de un grupo de usuarios con un IdP social](#cognito-user-pools-social-idp-step-2)
+ [Probar la configuración del proveedor de identidad social](#cognito-user-pools-social-idp-step-3)

## Configuración de una aplicación y una cuenta de desarrollador de IdP social
<a name="cognito-user-pools-social-idp-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.

------
#### [ Facebook ]

Para obtener la información más reciente sobre la configuración de las cuentas de desarrollador de Meta y la autenticación, consulte [Desarrollo de aplicaciones con Meta](https://developers.facebook.com/docs/development).

**Cómo registrar una aplicación en Facebook/Meta**

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).

1. Escriba un nombre para la aplicación de Facebook y, a continuación, elija **Create App ID** (Crear ID de aplicación).

1. En la barra de navegación de la izquierda, elija **Settings (Configuración)** y luego **Basic (Básica)**.

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** (\$1 Agregar plataforma) en la parte inferior de la página.

1. Elija **Website** (Sitio web).

1. En **Website** (Sitio web), escriba la ruta de acceso a la página de inicio de sesión de la aplicación en **Site URL** (URL del sitio).

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

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

1. Ingrese la ruta de acceso a la raíz del dominio del grupo de usuarios en **App Domains** (Dominios de aplicación).

   ```
   https://mydomain.auth.us-east-1.amazoncognito.com
   ```

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

1. En la barra de navegación elija **Products (Productos)** y, a continuación, **Set up (Configurar)** para el producto con **Facebook Login (Inicio de sesión con Facebook)**.

1. En la barra de navegación elija **Facebook Login** (Inicio de sesión con Facebook) y, a continuación, **Settings** (Configuración).

   Introduzca la ruta al `/oauth2/idpresponse` punto final del dominio de su grupo de usuarios en **Valid OAuth** Redirect. URIs

   ```
   https://mydomain.auth.us-east-1.amazoncognito.com/oauth2/idpresponse
   ```

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

------
#### [ Login with Amazon ]

Para obtener la información más reciente sobre la configuración de las cuentas de desarrollador y la autenticación de Login with Amazon, consulte la [documentación de Login with Amazon](https://developer.amazon.com/docs/login-with-amazon/documentation-overview.html).

**Cómo registrar una aplicación con Login with Amazon**

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 **Apps and Services** (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** (Inicio de sesión con 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://mydomain.auth.us-east-1.amazoncognito.com
   ```

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

   ```
   https://mydomain.auth.us-east-1.amazoncognito.com/oauth2/idpresponse
   ```

1. Seleccione **Save**.

------
#### [ Google ]

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.

**Cómo registrar una aplicación con Google**

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, pantalla de **consentimiento de Oauth**.

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

1. 1. En **Ámbitos**, selecciona **Añadir o eliminar ámbitos** y elige, 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 **SAVE AND CONTINUE** (GUARDAR Y CONTINUAR).

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

1. Seleccione **CREAR CREDENCIALES** y, a continuación, **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://mydomain.auth.us-east-1.amazoncognito.com
   ```

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://mydomain.auth.us-east-1.amazoncognito.com/oauth2/idpresponse
   ```

1. Seleccione **CREATE** (Crear).

1. Almacene de forma segura los valores en los que muestra Google EN **Your client ID** (ID de tu cliente y **Your client secret** (Secreto de tu cliente). Proporcione estos valores a Amazon Cognito cuando agregue un proveedor de IdP Google.

------
#### [ Sign in with Apple ]

Para up-to-date obtener más información sobre cómo configurar el inicio de sesión con Apple, consulta [Cómo configurar tu entorno para iniciar sesión con Apple](https://developer.apple.com/documentation/signinwithapple/configuring-your-environment-for-sign-in-with-apple) en la documentación para desarrolladores de Apple.

**¿Cómo registrar una aplicación con Sign In with Apple (SIWA)?**

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 **Select a type** (Seleccionar tipo), elija **App** y, a continuación, elija **Continue** (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-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), escriba una descripción.

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

   1. Seleccione **Continue** (Continuar), 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://`.

      ```
      mydomain.auth.us-east-1.amazoncognito.com
      ```

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

      ```
      https://mydomain.auth.us-east-1.amazoncognito.com/oauth2/idpresponse
      ```

   1. Elija **Next** (Siguiente) y, a continuación, elija **Done** (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 **Configure Key** (Configurar clave), seleccione el ID de aplicación creado anteriormente como **Primary App ID** (ID de aplicación principal). Seleccione **Save**.

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

1. En la página **Download Your Key** (Descargar clave), elija **Download** (Descargar) para descargar la clave privada, anote el **Key ID** (ID de la clave) y, a continuación, **Done** (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-step-2).

------

## Configuración de un grupo de usuarios con un IdP social
<a name="cognito-user-pools-social-idp-step-2"></a>

**Para configurar el IdP social de un grupo de usuarios con el Consola de administración de AWS**

1. Vaya a la [consola de Amazon Cognito](https://console.aws.amazon.com/cognito/home). Si se le solicita, introduzca sus AWS credenciales.

1. Elija **Grupos de usuarios**.

1. Elija un grupo de usuarios existente en la lista o cree un grupo de usuarios.

1. Seleccione el menú **Proveedores sociales y externos** y, a continuación, seleccione **Agregar un proveedor de identidades**.

1. Elija un IdP para redes sociales: **Facebook**, **Google**, **Login with Amazon** o **Apple**.

1. Elija uno de los siguientes pasos, según el IdP para redes sociales que haya seleccionado:
   + **Google** y **Login with Amazon**: Escriba la **ID de cliente de aplicación**y el **secreto del cliente de aplicación** generado en la sección anterior.
   + **Facebook**: escriba la **ID de cliente de aplicación** y el **secreto del cliente de aplicación** 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 retirada. Los ámbitos y atributos de Facebook pueden variar según las versiones de la API. Recomendamos que pruebe su inicio de sesión de identidad social con Facebook para asegurarse de que la federación funcione según lo previsto.
   + **Inicio de sesión con Apple**: escriba la**ID de servicio**,**ID de equipo**,**ID de clave**, y**Clave privada**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/cognito-user-pools-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.
   + Un 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 utiliza en los grupos de usuarios y and/or otros servicios de autenticación
   + Un desarrollador añade ámbitos adicionales después de que el usuario final haya iniciado sesión (no se recupera ninguna información nueva).
   + Un desarrollador elimina al usuario y luego el usuario vuelve a iniciar sesión sin quitar la aplicación de su perfil de ID de Apple.

1. Asigne atributos de su IdP a su grupo de usuarios. Para obtener más información, consulte [Especificación de asignaciones de atributos del proveedor de identidad para su grupo de usuarios](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-specifying-attribute-mapping.html).

1. Seleccione **Crear**.

1. En el menú **Clientes de aplicación**, seleccione un cliente de aplicación de la lista. Para añadir el nuevo proveedor de identidad social al cliente de aplicación, vaya a la pestaña **Páginas de inicio de sesión** y seleccione **Editar** en **Configuración de páginas de inicio de sesión administrado**.

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

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

En su aplicación, debe invocar un navegador en el cliente del usuario para que pueda iniciar sesión con su proveedor social. Pruebe el inicio de sesión con su proveedor social después de haber completado los procedimientos de configuración de las secciones anteriores. El siguiente ejemplo de URL carga la página de inicio de sesión de su grupo de usuarios con un dominio de prefijo.

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

Este enlace es la página a la que Amazon Cognito lo dirige cuando va al menú **Clientes de aplicación**, selecciona un cliente de aplicación, navega a la pestaña **Páginas de inicio de sesión** y selecciona **Ver página de inicio de sesión**. Para obtener más información sobre los dominios del grupo de usuarios, consulte [Configuración de un dominio del grupo de usuarios](cognito-user-pools-assign-domain.md). Para obtener más información sobre los clientes de aplicaciones, incluidos el cliente IDs y la devolución de llamada URLs, consulte[Ajustes específicos de una aplicación en los clientes de aplicación](user-pool-settings-client-apps.md).

El siguiente enlace de ejemplo configura la redirección silenciosa a un proveedor social desde el parámetro [Autorizar punto de conexión](authorization-endpoint.md) con un parámetro de solicitud `identity_provider`. Esta URL omite el inicio de sesión interactivo del grupo de usuarios con el inicio de sesión administrado y va directamente a la página de inicio de sesión del IdP.

```
https://mydomain.auth.us-east-1.amazoncognito.com/oauth2/authorize?identity_provider=Facebook|Google|LoginWithAmazon|SignInWithApple&response_type=code&client_id=1example23456789&redirect_uri=https://www.example.com
```