Identidad entre clientes

Cuando los desarrolladores compilan software, suelen incluir módulos que se ejecutan en un servidor web, otros módulos que se ejecutan en el navegador y otros que se ejecutan como aplicaciones móviles nativas. Tanto los desarrolladores como las personas que usan su software suelen considerar a todos estos módulos como parte de una sola app.

La implementación de OAuth 2.0 de Google es compatible con esta visión del mundo. Para usar cualquiera de los servicios basados en OAuth 2.0, debes configurar tu software en el Google API Console. La unidad de organización de API Console es un "proyecto", que puede corresponder a una app de varios componentes. Para cada proyecto, puedes proporcionar información de desarrollo de la marca y especificar a qué API accederá la app. Cada componente de una app de varios componentes se identifica mediante un ID de cliente, una string única que se genera en API Console.

Objetivos de autorización de varios clientes

Cuando una app usa OAuth 2.0 para la autorización, actúa en nombre de un usuario a fin de solicitar un token de acceso de OAuth 2.0 a fin de acceder a un recurso, que la app identifica mediante una o más strings de alcance. Por lo general, se le solicita al usuario que apruebe el acceso.

Cuando un usuario otorga acceso a tu app para un alcance en particular, mira la pantalla de consentimiento del usuario, que incluye el desarrollo de la marca del producto a nivel de proyecto que configuraste en Google API Console. Por lo tanto, Google considera que cuando un usuario otorga acceso a un permiso en particular a cualquier ID de cliente en un proyecto, la concesión indica la confianza del usuario en toda la aplicación para ese alcance.

El efecto es que no se debe solicitar al usuario que apruebe el acceso a ningún recurso más de una vez para la misma aplicación lógica, siempre que los componentes de la aplicación se puedan autenticar de manera confiable mediante la infraestructura de autorización de Google, que en la actualidad incluye aplicaciones web, aplicaciones para Android, aplicaciones para Chrome, aplicaciones nativas para computadoras de escritorio y dispositivos de entrada limitada.

Tokens de acceso entre clientes

El software puede obtener tokens de acceso de OAuth 2.0 de varias maneras, según la plataforma en la que se ejecuta el código. A fin de obtener más información, consulta Usa OAuth 2.0 para acceder a las API de Google. Por lo general, se requiere la aprobación del usuario para otorgar un token de acceso.

Afortunadamente, la infraestructura de autorización de Google puede usar información sobre las aprobaciones de usuarios para un ID de cliente dentro de un proyecto determinado cuando evalúa si autoriza a otros en el mismo proyecto.

El efecto es que si una app para Android solicita un token de acceso para un alcance determinado y el usuario solicitante ya otorgó la aprobación a una aplicación web en el mismo proyecto para ese mismo alcance, no se le volverá a pedir que apruebe la app. Esto funciona en ambos sentidos: si se otorgó acceso a un alcance en tu app para Android, no se volverá a solicitar a otro cliente en el mismo proyecto, como una aplicación web.