La autenticación y la autorización son mecanismos que se usan para verificar la identidad y el acceso a los recursos, respectivamente. Este documento identifica los términos clave que debes conocer antes de implementar la autenticación y autorización en tu app.
La autenticación identifica quién realiza la solicitud. La autorización identifica a qué recursos puede acceder el solicitante y a qué nivel de acceso tiene. La autenticación es un requisito previo para la autorización. No puedes determinar a qué recursos se accederá sin primero establecer la identidad del solicitante. Para obtener una definición más detallada, consulta la sección Terminología importante.
Considera el siguiente ejemplo simplificado de una reserva de hotel. Cuando llegas al hotel, la empleada de recepción solicita tu ID para verificar tu reserva. Tu ID te autentica en el hotel. El encargado de la recepción te entrega una llave de hotel. Esta llave te da acceso a ciertos recursos del hotel, como la habitación del hotel, el gimnasio y el centro de negocios. La clave del hotel te autoriza a acceder a esos recursos.
Descripción general del proceso
En el siguiente diagrama, se muestran los pasos de alto nivel de autenticación y autorización para las API de Google Workspace:

Configura tu proyecto y app de Google Cloud: Durante el desarrollo, registras tu app en Google Cloud Console, lo que define los permisos de autorización y las credenciales de acceso para autenticar tu app con una clave de API, una credencial de usuario final o una credencial de cuenta de servicio.
Autentica tu app para el acceso: Cuando se ejecuta tu app, se evalúan las credenciales de acceso registradas. Si tu app se autentica como usuario final, es posible que se muestre un mensaje de acceso.
Solicitar recursos: Cuando tu app necesita acceder a los recursos de Google, le pregunta a Google mediante los permisos de acceso relevantes que registraste antes.
Solicitar el consentimiento del usuario: Si tu app se autentica como usuario final, Google mostrará la pantalla de consentimiento de OAuth para que el usuario pueda decidir si le otorga a la app acceso a los datos solicitados.
Envía una solicitud aprobada para los recursos: Si el usuario otorga su consentimiento para los alcances de acceso, tu app agrupa las credenciales y los alcances de acceso aprobados por el usuario en una solicitud. La solicitud se envía al servidor de autorización de Google para obtener un token de acceso.
Google muestra un token de acceso: El token de acceso contiene una lista de los permisos de acceso otorgados. Si la lista de permisos que se muestra es más limitada que los permisos de acceso solicitados, tu app inhabilitará cualquier función que el token limite.
Acceso a los recursos solicitados: La app usa el token de acceso de Google para invocar las API relevantes y acceder a los recursos.
Obtener un token de actualización (opcional): Si la app necesita acceder a una API de Google más allá de la vida útil de un solo token de acceso, puede obtener un token de actualización.
Solicitar más recursos: Si se necesita acceso adicional, la app le pide al usuario que otorgue permisos de acceso nuevos, lo que resulta en una solicitud nueva para obtener un token de acceso (pasos 3-6).
Terminología importante
A continuación, se muestra una lista de términos relacionados con la autenticación y la autorización:
- Autenticación
El acto de garantizar que un principal, que puede ser un usuario o una app que actúe en nombre de un usuario, sea quien dice ser. Cuando escribas apps de Google Workspace, debes tener en cuenta estos tipos de autenticación:
- Autenticación de usuarios
- Es el acto de que un usuario se autentique (acceda) en tu app. Por lo general, la autenticación se realiza mediante un proceso de acceso en el que el usuario usa una combinación de nombre de usuario y contraseña para verificar su identidad en la app. La autenticación del usuario se puede incorporar en una app mediante Acceder con Google.
- Autenticación de apps
- Es el acto de una app que se autentica directamente en los servicios de Google en nombre del usuario que la ejecuta. Por lo general, la autenticación se realiza con credenciales creadas previamente en el código de tu app.
- Autorización
Los permisos o la “autoridad” que tiene la principal para acceder a los datos o realizar operaciones. El acto de autorización se lleva a cabo a través del código que escribes en tu app. Este código informa al usuario que la app desea actuar en su nombre y, si se permite, usa las credenciales únicas de tu app para obtener un token de acceso de Google que se usa para acceder a datos o realizar operaciones.
- Credentials
Es una forma de identificación que se usa en la seguridad de software. En términos de autenticación, una credencial suele ser una combinación de nombre de usuario y contraseña. En términos de autorización para las APIs de Google Workspace, una credencial suele ser alguna forma de identificación, como una string secreta única, conocida solo entre el desarrollador de la app y el servidor de autenticación. Google admite estas credenciales de autenticación: clave de API, ID de cliente de OAuth 2.0 y cuentas de servicio.
- Clave de API
- Es la credencial que se usa para solicitar acceso a datos públicos, como los datos proporcionados mediante la API de Google Maps o los archivos de Google Workspace compartidos con el parámetro de configuración "Cualquier persona en Internet con este vínculo" en la configuración de uso compartido de Google Workspace.
- ID de cliente de OAuth 2
- La credencial que se usa para solicitar acceso a los datos que pertenecen a los usuarios Esta es la credencial principal que se usa cuando se solicita acceso a datos mediante las APIs de Google Workspace. Esta credencial requiere el consentimiento del usuario.
- Secreto del cliente
- Es una string de caracteres que solo tu aplicación y el servidor de autorización deben conocer. El secreto del cliente protege los datos del usuario otorgando solo tokens a los solicitantes autorizados. Nunca debes incluir tu secreto del cliente en tu app.
- Claves de cuenta de servicio
- Las cuentas de servicio las usan para obtener autorización de un servicio de Google.
- Cuenta de servicio
- Es una credencial que se usa para las interacciones de servidor a servidor, como una app sin rostro que se ejecuta como proceso a fin de acceder a algunos datos o realizar alguna operación. Por lo general, las cuentas de servicio se usan para acceder a datos y operaciones basadas en la nube. Sin embargo, cuando se usan con la delegación de autoridad de todo el dominio, se pueden usar para acceder a los datos del usuario.
- Alcance
Una string de URI de OAuth 2.0 que define un nivel de acceso a los recursos o acciones otorgados a una app. Para Google Workspace, los URI del permiso de autorización contienen el nombre de la app, el tipo de datos a los que accede y el nivel de acceso. Los usuarios de tu app pueden revisar los alcances solicitados y elegir qué acceso otorgar. Luego, el servidor de autenticación de Google muestra los permisos permitidos en tu token de acceso. Si quieres obtener más detalles, consulta Elige los permisos para tu app.
- Servidor de autorización
El servidor de Google para otorgar acceso, mediante un token de acceso, a los datos y operaciones solicitados de una app.
- Código de autorización
Un código enviado desde el servidor de autorización que se usa para obtener un token de acceso Solo se necesita un código cuando tu tipo de aplicación es una app de servidor web o una instalada.
- Token de acceso
Un token que otorga acceso a una API de Google Workspace. Un solo token de acceso puede otorgar diversos grados, conocidos como alcances, de acceso a múltiples API. El código de autorización de tu app solicita tokens de acceso y los usa para invocar las APIs de Google Workspace.
- Servidor de recursos
El servidor que aloja la API a la que tu app desea llamar.
- Framework de OAuth 2.0
Es un estándar que tu app puede usar para proporcionarle un “acceso delegado seguro” o acceso a datos y operaciones en nombre del usuario de la app. Los mecanismos de autenticación y autorización que usas en tu app representan tu implementación del framework de OAuth 2.0.
- Principal
Una entidad, también conocida como identidad, a la que se le puede otorgar acceso a un recurso. Las APIs de Google Workspace admiten dos tipos de principales: cuentas de usuario y cuentas de servicio. Para obtener más detalles, consulta Principales.
- Tipo de datos
En el contexto de la autenticación y la autorización, el tipo de datos se refiere a la entidad que posee los datos a los que tu app intenta acceder. Hay tres tipos de datos:
- Datos de dominio público
- Los datos son accesibles para todos, como algunos datos de Google Maps. Por lo general, se puede acceder a estos datos mediante una clave de API.
- Datos del usuario final
- Datos que pertenecen a un usuario final o un grupo específico, como los archivos de Google Drive de un usuario específico. Por lo general, se accede a este tipo de datos mediante un ID de cliente de OAuth 2 o una cuenta de servicio.
- Datos de Cloud
- Datos que pertenecen a un proyecto de Google Cloud Por lo general, una cuenta de servicio accede a este tipo de datos.
- Consentimiento del usuario
Un paso de autorización que requiere que el usuario autorice la app para acceder a datos y realizar operaciones en nombre del usuario.
- Tipo de aplicación
El tipo de app que crearás. Cuando crees credenciales con la consola de Google Cloud, se te pedirá que selecciones el tipo de aplicación. Los tipos de aplicación son los siguientes: aplicación web (JavaScript), Android, app de Chrome, iOS, TV y dispositivos de entrada limitada, app de escritorio (también llamada "app instalada") y Plataforma de Windows universal (UWP).
- Cuenta de servicio
Es un tipo especial de Cuenta de Google que representa a un usuario no humano que necesita autenticarse y tener autorización para acceder a los datos. Tu aplicación asume la identidad de la cuenta de servicio para llamar a las API de Google, de modo que los usuarios no están involucrados de manera directa. Por sí mismas, las cuentas de servicio no se pueden usar para acceder a los datos del usuario; datos a los que se suele acceder mediante las APIs de Workspace. Sin embargo, una cuenta de servicio puede acceder a los datos del usuario mediante la implementación de la delegación de autoridad de todo el dominio. Para obtener más detalles, consulta Comprende las cuentas de servicio.
- Delegación de autoridad de todo el dominio
Una función de administración que puede autorizar a una aplicación para que acceda a los datos del usuario en nombre de los usuarios de la organización de Google Workspace. La delegación de todo el dominio se puede usar para realizar tareas relacionadas con el administrador en los datos del usuario. Para delegar la autoridad de esta manera, los administradores de Google Workspace usan cuentas de servicio con OAuth 2.0. Debido a la potencia de esta función, solo los administradores avanzados pueden habilitar la delegación de autoridad de todo el dominio. Para obtener más detalles, consulta Delegación de autoridad de todo el dominio a una cuenta de servicio.
Próximo paso
Configura la pantalla de consentimiento de OAuth de tu app para asegurarte de que los usuarios puedan comprender y aprobar qué tipo de acceso tiene la app a sus datos.