Identidad entre clientes

Cuando los desarrolladores crean software, este suele 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 apps para dispositivos móviles iOS o Android. Tanto los desarrolladores como las personas que usan su software suelen considerar que todos estos módulos forman parte de una sola app.

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

Objetivos de autorización entre clientes

Cuando una app usa OAuth 2.0 para la autorización, actúa en nombre de un usuario para solicitar un token de acceso de OAuth 2.0 para acceder a un recurso, que la app identifica con una o más cadenas de permisos. Normalmente, se le pide al usuario que apruebe el acceso.

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

El efecto es que no se le 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 la infraestructura de autorización de Google pueda autenticar de manera confiable los componentes de la aplicación, lo que hoy en día incluye apps web, apps para Android, apps para Chrome, apps para iOS, apps para computadoras, y dispositivos de entrada limitada.

Tokens de acceso entre clientes

El software puede obtener tokens de acceso de OAuth 2.0 de diversas maneras, según la plataforma en la que se ejecute el código. Para obtener más información, consulta Usa OAuth 2.0 para acceder a las APIs de Google. Normalmente, se requiere la aprobación del usuario cuando se otorga un token de acceso.

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

El efecto es que, si una app para Android solicita un token de acceso para un alcance en particular 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 pedirá al usuario que vuelva a aprobar. Esto funciona en ambos sentidos: si se otorgó acceso a un alcance en tu app para Android, no se volverá a solicitar desde otro cliente en el mismo proyecto, como una aplicación web.