¿Cómo puedo configurar Google como proveedor de identidades federado en un grupo de usuarios de Amazon Cognito?

7 minutos de lectura
0

Quiero usar Google como proveedor de identidad federado (IdP) en un grupo de usuarios de Amazon Cognito.

Solución

Crear un grupo de usuarios de Amazon Cognito con un cliente de aplicación y un nombre de dominio

Siga estos pasos:

  1. Cree un nuevo grupo de usuarios.
    Nota: Al crear un grupo de usuarios, el atributo estándar email se selecciona de forma predeterminada.
  2. Cree un cliente de aplicación en su grupo de usuarios.
  3. Agregue un nombre de dominio para el grupo de usuarios.

Creación de un proyecto de la consola de API de Google

Siga estos pasos:

  1. Inicie sesión en la consola de API de Google con su cuenta de Google. Para obtener más información, consulte Manage APIs in the API console en el sitio web de Ayuda de Google.
  2. En Panel (API y servicios), elija CREATE.
  3. En Nuevo proyecto, introduzca un Nombre de proyecto.
  4. En Ubicación, seleccione BROWSE y, a continuación, elija una ubicación.
  5. Seleccione CREATE.

Para obtener más información, consulte Sign in with Google for web en el sitio web de Google Identity.

Configuración de la pantalla de consentimiento de OAuth

Siga estos pasos:

  1. En la consola de API de Google, en el panel de navegación izquierdo, seleccione Pantalla de consentimiento de OAuth.
  2. Complete los siguientes campos obligatorios del formulario de consentimiento:
    En Nombre de la aplicación, introduzca un nombre.
    En Dominios autorizados, introduzca amazoncognito.com.
    Importante: Debe introducir este dominio para poder usar su dominio de Amazon Cognito cuando cree un ID de cliente de OAuth.
  3. Seleccione Guardar.

Para obtener más información, consulte Complete the OAuth consent screen en el sitio web de Google Workspace.

Obtención de las credenciales de cliente de OAuth 2.0

Siga estos pasos:

  1. En la consola de API de Google, en la página Credenciales, seleccione Crear credenciales.
  2. Elija ID de cliente de OAuth.
  3. En la página Crear ID de cliente de OAuth, en Tipo de aplicación, seleccione Aplicación web.
  4. Introduzca la siguiente información:
    En Nombre, introduzca un nombre para su ID de cliente de OAuth.
    En Orígenes autorizados de JavaScript, introduzca su dominio de Amazon Cognito, por ejemplo: .
    Nota: Sustituya yourDomainPrefix y region por los valores de su grupo de usuarios. Para encontrar estos valores, abra la consola de Amazon Cognito y vaya a la página Nombre de dominio de su grupo de usuarios.
    En URI de redireccionamiento autorizados, introduzca .
    Nota: Sustituya yourDomainPrefix y region por los valores de su grupo de usuarios.
  5. En el cuadro de diálogo Cliente de OAuth, anote el identificador y el secreto del cliente para usarlos en un paso posterior.

Para obtener más información, consulte Using OAuth 2.0 to access Google APIs en el sitio web de Google Identity.

Configuración de Google como IdP federado en su grupo de usuarios

Siga estos pasos:

  1. Abra la consola de Amazon Cognito y, a continuación, elija Grupos de usuarios.
  2. Seleccione su grupo de usuarios.
  3. Seleccione la pestaña Experiencia de inicio de sesión.
  4. En la sección Inicio de sesión con el proveedor de identidades federadas, seleccione Agregar proveedor de identidades.
  5. Seleccione Google.
  6. En Configurar la federación de Google con este grupo de usuarios, introduzca la siguiente información:
    En ID de cliente, introduzca el ID de cliente que anotó.
    En Secreto de cliente, introduzca el secreto de cliente que anotó.
    En Ámbitos autorizados, introduzca el OpenID de correo electrónico del perfil.
  7. En Asignar atributos entre Google y su grupo de usuarios, asigne el atributo de grupo de usuarios email al atributo de Google email.
  8. Seleccione Agregar otro atributo y, en Atributo de grupo de usuarios, asigne el valor username al valor de Atributo de Google username.
  9. Seleccione Agregar proveedor de identidades.

Cambio de la configuración del cliente de la aplicación para el grupo de usuarios

Nota: En la configuración del cliente de la aplicación, se debe poder escribir en los atributos del grupo de usuarios asignado. Para obtener más información, consulte Specifying identity provider attribute mappings for your user pool.

Siga estos pasos:

  1. Abra la consola de Amazon Cognito y, a continuación, elija su grupo de usuarios.
  2. Seleccione la pestaña Integración de aplicaciones.
  3. En Lista de clientes de aplicación, seleccione Crear un cliente de aplicación.
  4. Introduzca la siguiente información:
    En Tipo de aplicación, elija Cliente público y, a continuación, introduzca un nombre para el cliente de la aplicación.
    En Flujos de autenticación, seleccione ALLOW_USER_PASSWORD_AUTH y ALLOW_REFRESH_TOKEN_AUTH.
    En URL de devolución de llamadas permitidas, introduzca la URL a la que desee que se redirija a los usuarios cuando inicien sesión. Como prueba, introduzca una URL válida, como .
    En Direcciones URL de cierre de sesión, introduzca la URL a la que desea que se redirija a los usuarios después de cerrar sesión. Como prueba, introduzca una URL válida cualquiera, como .
    En Proveedores de identidad, seleccione Grupo de usuarios de Cognito y Google.
    En Tipo de concesión de OAuth 2.0, seleccione Concesión implícita.
    En Ámbitos de OpenID Connect, seleccione email, openid y profile.
    Importante: El flujo de OAuth de concesión implícita es únicamente para fines de prueba. Se recomienda utilizar el tipo de concesión de códigos de autorización para los sistemas de producción.
  5. Seleccione Crear un cliente de aplicación.

Para obtener más información, consulte App client terms.

Construcción de la URL del punto de enlace

Para componer la URL de punto de enlace de inicio de sesión para la interfaz de usuario web alojada en Amazon Cognito, utilice los valores de su grupo de usuarios.

URL de ejemplo:

Nota: Sustituya yourDomainPrefix y region por los valores de su grupo de usuarios. Para encontrar estos valores, abra la consola de Amazon Cognito y vaya a la página Nombre de dominio de su grupo de usuarios. Sustituya yourClientId por el ID de cliente de la aplicación de Amazon Cognito y redirectUrl por la URL de devolución de llamada del cliente de la aplicación. Encontrará estos valores en la página Configuración del cliente de aplicación de su grupo de usuarios.

Para obtener más información, consulte ¿Cómo puedo configurar la interfaz de usuario web alojada para Amazon Cognito? y Login endpoint.

Probar la URL del punto de conexión

Siga estos pasos:

  1. Introduzca la URL del punto de enlace de inicio de sesión en su navegador web.
  2. En la página web de su punto de enlace de inicio de sesión, seleccione Continuar con Google.
    Nota: Si se le redirige a la URL de devolución de llamadas del cliente de la aplicación de Amazon Cognito, quiere decir que ya ha iniciado sesión en su cuenta de Google en el navegador. Los tokens del grupo de usuarios aparecen en la URL de la barra de direcciones del navegador web.
  3. En Iniciar sesión con Google, seleccione su cuenta de Google e inicie sesión.

Tras autenticarse, se le redirigirá a la URL de devolución de llamadas del cliente de la aplicación de Amazon Cognito. Los tokens web JSON (JWT) emitidos por el grupo de usuarios aparecen en la URL de la barra de direcciones del navegador web.

Nota: Un SDK de JavaScript genera la URL del punto de enlace de inicio de sesión. Además, el SDK analiza sintácticamente los tokens de JWT en la URL.

Información relacionada

Using social identity providers with a user pool

Adding user pool sign-in through a third party

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 9 meses