Agregar proveedores de identidad social a un grupo de usuarios - Amazon Cognito

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.

Agregar proveedores de identidad social a un grupo de usuarios

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 la IU alojada para que se integre con los proveedores de identidad social compatibles. Cuando Amazon Cognito crea su interfaz de usuario alojada, crea puntos de enlace de 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.

Puede añadir un IDP social en la AWS CLI o la AWS Management Console API de Amazon Cognito, o bien utilizar la misma.


                Información general sobre la autenticación con inicio de sesión por redes sociales
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).

Requisitos previos

Antes de comenzar, necesitará lo siguiente:

  • Un grupo de usuarios con un cliente de aplicación y un dominio de grupo de usuarios. Para obtener más información, consulte Crear un grupo de usuarios.

  • Un IdP para redes sociales.

Paso 1: Registrarse en un proveedor de identidad social

Antes de crear un proveedor de identidad social con Amazon Cognito, debe registrar su aplicación en él para recibir un ID y un secreto del cliente.

  1. Cree una cuenta de desarrollador con Facebook.

  2. Inicie sesión con sus credenciales de Facebook.

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

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

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

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

  7. Elija + Add Platform (+ Agregar plataforma) en la parte inferior de la página.

  8. Elija Website (Sitio web).

  9. 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.us-east-1.amazoncognito.com/login?response_type=code&client_id=1example23456789&redirect_uri=https://www.example.com
  10. Elija Guardar cambios.

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

    https://mydomain.us-east-1.amazoncognito.com
  12. Elija Guardar cambios.

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

  14. 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 de acceso al punto de conexión /oauth2/idpresponse para el dominio del grupo de usuarios en Valid OAuth Redirect URIs (URI de redirección de OAuth válidas).

    https://mydomain.us-east-1.amazoncognito.com/oauth2/idpresponse
  15. Elija Guardar cambios.

  1. Cree una cuenta de desarrollador con Amazon.

  2. Inicie sesión con las credenciales de Amazon.

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

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

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

  6. Seleccione Save (Guardar).

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

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

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

    https://mydomain.us-east-1.amazoncognito.com
  10. Escriba el dominio del grupo de usuarios con el punto de conexión /oauth2/idpresponse en URL de devolución permitidas.

    https://mydomain.us-east-1.amazoncognito.com/oauth2/idpresponse
  11. Seleccione Save (Guardar).

Para obtener más información sobre OAuth 2.0 en la plataforma de Google Cloud, consulte Más información sobre la autenticación y la autorización en la documentación de Google Workspace for Developers.

  1. Cree una cuenta de desarrollador con Google.

  2. Inicie sesión en la consola de Google Cloud Platform.

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

  4. Seleccione NEW PROJECT (NUEVO PROYECTO).

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

  6. En la barra de navegación izquierda, elija APIs and Services (API y servicios), luego Oauth consent screen (Pantalla de consentimiento de Oauth).

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

  8. 1. En Scopes (Ámbitos), elija Add or remove scopes (Agregar y eliminar ámbitos) y elija, como mínimo, los siguientes ámbitos de OAuth.

    1. .../auth/userinfo.email

    2. .../auth/userinfo.profile

    3. openid

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

  10. Expanda de nuevo la barra de navegación izquierda y elija APIs and Services (API y servicios), luego Credentials (Credenciales).

  11. Elija CREATE CREDENTIALS (CREAR CREDENCIALES), luego OAuth client ID (ID de cliente de OAuth).

  12. Seleccione un tipo de aplicacióny asigne un nombre al cliente.

  13. En JavaScript Orígenes autorizados, elija AGREGAR URI. Introduzca el dominio del grupo de usuarios.

    https://mydomain.us-east-1.amazoncognito.com
  14. En Authorized redirect URIs (URI de redirección autorizadas), elija ADD URI (AÑADIR URI). Introduzca la al punto de conexión /oauth2/idpresponse de su dominio de grupo de usuarios.

    https://mydomain.us-east-1.amazoncognito.com/oauth2/idpresponse
  15. Seleccione CREATE (Crear).

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

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 en la documentación para desarrolladores de Apple.

  1. Cree una cuenta de desarrollador en Apple.

  2. Inicie sesión con las credenciales de Apple.

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

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

  5. En la página Identifiers (Identificadores), elija el icono +.

  6. En la página Register a New Identifier (Registrar un nuevo identificador), elija App IDs (ID de aplicaciones) y, a continuación, Continue (Continuar).

  7. En la página Select a type (Seleccionar tipo), elija App y, a continuación, elija Continue (Continuar).

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

    2. En App ID Prefix (Prefijo de ID de aplicación), introduzca un ID del paquete. Anote el valor de laPrefijo de ID de aplicación. Utilizarás este valor después de elegir Apple como proveedor de identidad enPaso 2: Añadir un proveedor de identidad social al grupo de usuarios.

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

    4. En la página Sign in with Apple: App ID Configuration (Inicio de sesión con Apple: Configuración del ID de aplicación), elija configurar la aplicación como principal o agrupada con otros ID de aplicación y, a continuación, elija Save (Guardar).

    5. Elija Continue (Continuar).

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

  10. En la página Identifiers (Identificadores), elija el icono +.

  11. En la página Register a New Identifier (Registrar un nuevo identificador), elija Services IDs (ID de servicios) y, a continuación, Continue (Continuar).

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

    2. 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 Paso 2: Añadir un proveedor de identidad social al grupo de usuarios.

    3. Seleccione Continue (Continuar), a continuación, Register (Registrarse).

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

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

    3. Elija el icono + situado al lado de Website URLs (URL de sitio web).

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

      mydomain.us-east-1.amazoncognito.com
    5. En Return URLs (URL de devolución), introduzca la ruta al punto de conexión /oauth2/idpresponse del dominio del grupo de usuarios.

      https://mydomain.us-east-1.amazoncognito.com/oauth2/idpresponse
    6. Elija Next (Siguiente) y, a continuación, elija Done (Listo). No es necesario verificar el dominio.

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

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

  15. En la página Keys (Claves), elija el icono +.

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

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

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

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

  17. 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 Paso 2: Añadir un proveedor de identidad social al grupo de usuarios.

Paso 2: Añadir un proveedor de identidad social al grupo de usuarios

Para configurar el IdP social de un grupo de usuarios con el AWS Management Console
  1. Vaya a la consola de Amazon Cognito. Si se le solicita, introduzca sus AWS credenciales.

  2. Elija User Pools (Grupos de usuarios).

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

  4. Elija la pestaña Sign-in experience (Experiencia de inicio de sesión). Localice Federated sign-in (Inicio de sesión federado) y, a continuación, seleccione Add an identity provider (Añadir un proveedor de identidad).

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

  6. 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óny 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 laID de servicio,ID de equipo,ID de clave, yClave privadagenerado en la sección anterior.

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

    Proveedor de identidad social Ámbitos de ejemplo
    Facebook public_profile, email
    Google profile email openid
    Login with Amazon profile postal_code
    Inicio de sesión con Apple email name

    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 todos los grupos de usuarios u 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.

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

  9. Seleccione Crear.

  10. DelIntegración de clientes de aplicaciones, elija uno de los Clientes de aplicaciones en la lista y Edit hosted UI settings (Modificar la configuración de IU). Agregue el nuevo IdP social al cliente de aplicación en Identity providers (Proveedores de identidad).

  11. Elija Guardar cambios.

Paso 3: Probar la configuración del proveedor de identidad social

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.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_id 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_uri. 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 a la IU alojada. La página muestra un mensaje de error Something went wrong.