Saltar al contenido principal
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 y el proceso para crear un proveedor de OpenID Connect (OIDC) mediante AWS CLI.

Configurar Amazon Web Services

Obtener los datos de la aplicación de Auth0

Primero, deberá obtener cierta información sobre su aplicación en Auth0:
  1. Vaya a Auth0 Dashboard > Applications > Applications.
  2. Seleccione su aplicación y, a continuación, cambie a la vista Settings.
  3. Anote el dominio y el ID de cliente.

Crear un nuevo proveedor de OpenID Connect (OIDC)

En AWS, cree un nuevo (IdP):
  1. Abra la consola de IAM, 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.
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.

Crear grupo de identidades

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

Configurar Auth0

Cognito usa la clave de firma pública de los metadatos del proveedor OpenID para validar la firma del (JWT). Confirma que tu aplicación de Auth0 esté configurada para usar el algoritmo de firma RS256:
  1. Ve a Auth0 Dashboard > Applications > 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.

Implementación

Puedes usar el SDK de Auth0 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. Cognito toma el 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.

Solución de problemas

Error de “token de inicio de sesión no válido”

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