Overview
El proveedor de autenticación de Google permite a los usuarios iniciar sesión con su cuenta de Google existente a través de Inicio de sesión de GoogleCuando un usuario inicia sesión, Google proporciona a Atlas App Services un token de acceso OAuth.2 0 para el usuario. App Services utiliza este token para identificar al usuario y acceder a los datos aprobados de las API de Google en su nombre.
El siguiente diagrama muestra el flujo lógico de OAuth:

Configurar un proyecto en la consola API de Google
Debes configurar un proyecto en la Consola de API de Google antes de configurar la Autenticación de Google en App Services. Sigue los pasos específicos del SDK para configurar la Autenticación de Google en la Consola de API de Google.
El proveedor de autenticación de Google requiere un proyecto en la Consola de API de Google para administrar la autenticación y los permisos de usuario. Los siguientes pasos explican cómo crear el proyecto, generar las credenciales de OAuth y configurar el proveedor para que se conecte con él.
Crear un proyecto en la consola de API de Google
Siga la guía oficial de Google para crear un nuevo proyecto de GCP.
Generar credenciales de cliente OAuth
Nota
Para las aplicaciones cliente de iOS, es necesario crear un ID de cliente de OAuth web y un ID de cliente de OAuth para iOS. El primero lo utilizan los Servicios de aplicaciones, mientras que el segundo lo utiliza la propia aplicación.
Consulta Web Pestaña de esta sección para obtener instrucciones sobre cómo crear el ID de cliente de la aplicación web para App Services.
Siga la guía de soporte de Google sobre cómo configurar OAuth 2.0 para su proyecto.
Utilice los siguientes valores al configurar su aplicación iOS Client ID:
Application Type | iOS |
Name | El nombre que desea asociar con este Client ID. |
Bundle ID | El ID del paquete de tu aplicación iOS. Puedes encontrar este valor en XCode, en la pestaña General del destino principal de la aplicación. |
Utilice los siguientes valores al configurar su aplicación Android Client ID:
Application Type | Android |
Name | El nombre que desea asociar con este Client ID. |
Signing-certificate Fingerprint | La huella digital SHA-1 del certificado de firma de su aplicación.Consulte "Autenticar a su cliente" para obtener instrucciones sobre cómo generar este valor. |
Necesitará crear una aplicación web Client ID y proporcionar varios valores relacionados con los servicios de aplicaciones.
Para Authorized JavaScript Origins, ingrese la siguiente URL:
https://services.cloud.mongodb.com
Authorized Redirect URIsPara, introduzca la URL de devolución de llamada de autenticación de App Services correspondiente a la región de implementación de su aplicación. La siguiente tabla muestra la URL de devolución de llamada para cada región:
Región | URL de devolución de llamada de autenticación de servicios de aplicaciones | |
|---|---|---|
Global | | |
Virginia ( us-east-1) | | |
Oregon ( us-west-2) | | |
Ireland ( eu-west-1) | | |
Frankfurt ( eu-central-1) | | |
Mumbai ( ap-south-1) | | |
Singapore ( ap-southeast-1) | | |
Sydney ( ap-southeast-2) | |
Configura el proveedor de autenticación de Google
Para conectar su proyecto de GCP a App Services, agregue los OAuth 2.0 Client ID y que Client Secret generó en el paso anterior a la configuración de su proveedor de autenticación.
Nota
Asegúrate de agregar las credenciales de la aplicación web a la configuración del proveedor. Si agregas las credenciales de iOS, la autenticación de Google fallará.
Configurar en Servicios de la aplicación
Puede habilitar y configurar el proveedor de autenticación de Google desde la interfaz de usuario de Servicios de aplicaciones seleccionando Google en la página Authentication.
Para habilitar y configurar el proveedor de autenticación de Google con la CLI de App Services, defina un objeto de configuración para él /auth/providers.json en.
Las configuraciones del proveedor de Google tienen el siguiente formato:
{ "oauth2-google": { "name": "oauth2-google", "type": "oauth2-google", "disabled": <boolean>, "config": { "clientId": <string>, "openId": <boolean> }, "secret_config": { "clientSecret": <string> }, "metadata_fields": [<document>, ...], "redirect_uris": [<string>, ...], "domain_restrictions": [<string>, ...] } }
El proveedor de autenticación de Google tiene las siguientes opciones de configuración:
Campo | Descripción | |
|---|---|---|
Client ID config.clientId | Obligatorio. Un OAuth 2.0 Client ID para su proyecto en la Consola de API de Google. Consulta Configurar un proyecto en la Consola de API de Google para obtener información sobre cómo configurar las Credenciales OAuth para tu proyecto de GCP. | |
Client Secret secret_config.clientSecret | Obligatorio. El nombre de un secreto que almacena un OAuth 2.0 Client Secret para tu proyecto desde la consola de API de Google. Consulta Configurar un proyecto en la Consola de API de Google para obtener información sobre cómo configurar las Credenciales OAuth para tu proyecto de GCP. | |
Metadata Fields metadata_fields | Opcional. Una lista de campos que describen el usuario autenticado que tu aplicación solicitará a la API de Google Identity. Todos los campos de metadatos se omiten por defecto y pueden ser obligatorios campo por campo. Los usuarios deben conceder explícitamente permiso a la aplicación para acceder a cada campo obligatorio. Si un campo de metadatos es obligatorio y existe para un usuario específico, se incluirá en su objeto de usuario. Para requerir un campo de metadatos de un archivo de configuración de importación/exportación, agregue una entrada para el campo a la matriz | |
Redirect URIs redirect_uris | Requerido para aplicaciones web. Lista de redirecciones permitidas. URIs. Una vez que un usuario completa el proceso de autenticación en Google, App Services lo redirige a una URI de redirección específica o, si no se especifica ninguna, a la URL desde la que inició la solicitud de autenticación. App Services solo redirigirá al usuario a una URI que coincida exactamente con una entrada de esta lista, incluyendo el protocolo y las barras diagonales finales. | |
Domain Restrictions domain_restrictions | Opcional. Una lista de dominios aprobados para cuentas de usuario. Si se especifica, el proveedor verifica el dominio de la dirección de correo electrónico principal de un usuario en Google y solo le permite autenticarse si el dominio coincide con una entrada en esta lista. Por ejemplo, si NotaSi ha especificado alguna restricción de dominio, también debe requerir el campo de dirección de correo electrónico en la configuración Metadata Fields. | |
OpenID Connect config.openId | Opcional. Valor predeterminado: Si ImportanteLa compatibilidad de OpenID Connect varía según el SDKConsulta la documentación específica del SDK sobre la compatibilidad con OpenID Connect. No todas las implementaciones del SDK de Google Authentication son compatibles con OpenID Connect, mientras que otras lo requieren. NotaOpenID Connect no admite campos de metadatosGoogle admite OpenID como parte de su implementación de OAuth 2.0, pero no proporciona acceso a ámbitos restringidos para la autenticación de OpenID. Esto significa que App Services no puede acceder a los campos de metadatos de los usuarios autenticados con OpenID Connect. |
Ejemplos
Para obtener ejemplos de código que demuestran cómo registrarse e iniciar sesión mediante la autenticación de Google, consulte la documentación de los SDK de Realm: