> ## Documentation Index
> Fetch the complete documentation index at: https://translations.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Cómo integrar Auth0 con Amazon Cognito mediante un proveedor de OpenID Connect (OIDC).

# Integrar con Amazon Cognito

Amazon Cognito es un backend como servicio que le permite centrarse en desarrollar la experiencia de usuario de su aplicación. Para obtener más información y registrarse en los servicios, consulte [Amazon Cognito](http://aws.amazon.com/cognito/) y el proceso para crear un [proveedor de OpenID Connect (OIDC) mediante AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/iam/create-open-id-connect-provider.html).

<div id="configure-amazon-web-services">
  ## Configurar Amazon Web Services
</div>

<div id="get-auth0-application-details">
  ### Obtener los datos de la aplicación de Auth0
</div>

Primero, deberá obtener cierta información sobre su aplicación en Auth0:

1. Vaya a [Auth0 Dashboard > Applications > Applications](https://manage.auth0.com/#/applications).
2. Seleccione su aplicación y, a continuación, cambie a la vista **Settings**.
3. Anote el **dominio** y el **ID de cliente**.

<div id="create-new-openid-connect-oidc-provider">
  ### Crear un nuevo proveedor de OpenID Connect (OIDC)
</div>

En AWS, cree un nuevo <Tooltip tip="Proveedor de identidad (IdP): servicio que almacena y administra identidades digitales." cta="Ver glosario" href="/es/docs/glossary?term=identity+provider">proveedor de identidad</Tooltip> (IdP):

1. Abra la [consola de IAM](https://console.aws.amazon.com), seleccione **Identity Providers** en la barra lateral izquierda y, a continuación, seleccione **Add Provider**.
2. Seleccione **OpenID Connect** como **Provider Type**.
3. En **Provider URL**:

   1. Introduzca su **dominio** en el campo **Provider URL**.
   2. Introduzca su **ID de cliente** en el campo **Audience**.
4. Seleccione **Add Provider**.
5. Vaya al proveedor que acaba de crear y anote el **Provider ARN**.

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  No es necesario configurar un rol de IAM después de crear el IdP. Si aún no tiene uno, Cognito creará un rol de IAM predeterminado cuando cree un Identity Pool.
</Callout>

<div id="create-identity-pool">
  ### Crear grupo de identidades
</div>

Cree un grupo de identidades en AWS para permitir que Cognito use el Proveedor de identidad OIDC de Auth0 para autenticarse:

1. Inicie sesión en la [Consola de Cognito.](https://console.aws.amazon.com/cognito/home)
2. Seleccione **Federated Identities**.
3. En **Identity Pool Name**, especifique un nombre para el grupo (por ejemplo, `Auth0`).
4. En **Authentication Providers**, seleccione la pestaña **OpenID** y, a continuación, seleccione el nombre del proveedor que creó anteriormente.
5. Seleccione **Create Pool** y, a continuación, seleccione **Allow** para terminar de crear el nuevo grupo de identidades.
6. En el Dashboard, seleccione **Edit Identity Pool** para ver el **Identity Pool ID**.
7. Anote el **ARN** del rol de IAM que se creó automáticamente. Este valor se usará al enviar credenciales a Cognito.

<div id="configure-auth0">
  ## Configurar Auth0
</div>

Cognito usa la clave de firma pública de los [metadatos del proveedor OpenID](https://subscription.auth0.com/.well-known/jwks.json) para validar la firma del <Tooltip tip="JWT (JSON Web Token): formato estándar de ID Token (y, a menudo, de Token de acceso) que se usa para representar claims de forma segura entre dos partes." cta="Ver glosario" href="/es/docs/glossary?term=JSON+Web+Token">JSON Web Token</Tooltip> (JWT).

Confirma que tu aplicación de Auth0 esté configurada para usar el algoritmo de firma RS256:

1. Ve a [Auth0 Dashboard > Applications > Applications](https://manage.auth0.com/#/applications), selecciona tu aplicación y luego abre la vista **Settings**.
2. Expande la sección **Advanced Settings** y luego abre la vista **OAuth**.
3. Busca el campo **JSON Web Token (JWT) Signature Algorithm** y selecciona **RS256** en el menú desplegable.
4. Selecciona **Save Changes**.

<div id="implementation">
  ## Implementación
</div>

Puedes usar el [SDK de Auth0 Lock](/es/docs/libraries#lock) para integrar Auth0 en tu aplicación.

Una vez que el usuario inicia sesión con Auth0, el siguiente paso es enviar sus credenciales a Cognito. Para obtener más información, consulta [proveedores de OpenID Connect (grupos de identidades) en AWS Docs](http://docs.aws.amazon.com/cognito/latest/developerguide/open-id.html).

Cognito toma el <Tooltip tip="token de ID: credencial destinada al propio cliente y no a acceder a un recurso." cta="Ver glosario" href="/es/docs/glossary?term=ID+token">token de ID</Tooltip> que recibe un usuario de Auth0 y lo usa para generar identificadores únicos de Cognito. Cuando el usuario inicia sesión en Cognito a través de Auth0, puedes almacenar en Cognito información a la que solo él puede acceder.

<div id="troubleshooting">
  ## Solución de problemas
</div>

<div id="invalid-login-token-error">
  ### Error de "token de inicio de sesión no válido"
</div>

Si recibes el error "token de inicio de sesión no válido", confirma que la aplicación de Auth0 esté configurada para usar el algoritmo de firma RS256:

1. Ve a [Auth0 Dashboard > Applications > Applications](https://manage.auth0.com/#/applications), selecciona tu aplicación y luego cambia a la vista **Settings**.
2. Expande la sección **Advanced Settings** y luego cambia a la vista **OAuth**.
3. Busca el campo **JSON Web Token (JWT) Signature Algorithm** y selecciona **RS256** en el menú desplegable.
