Cuando los desarrolladores compilan software, este incluye periódicamente módulos que se ejecutan en un servidor web, otros que se ejecutan en el navegador y otros que se ejecutan como apps nativas para dispositivos móviles. Tanto los desarrolladores como las personas que usan su software suelen pensar en todos estos módulos como parte de una sola app.
La implementación de OAuth 2.0 de Google respalda esta visión del mundo. Para usar cualquiera de los servicios basados en OAuth2.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 desarrollo 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 permiso. Por lo general, se le solicita al usuario que apruebe el acceso.
Cuando un usuario otorga acceso a tu app para un alcance determinado, ve la pantalla de consentimiento del usuario, que incluye el desarrollo de la marca del producto a nivel del proyecto que configuraste en Google API Console. Por lo tanto, Google considera que, cuando un usuario otorga acceso a un alcance específico 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 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 forma confiable los componentes de la aplicación, que hoy incluye apps web, apps para Android, apps para Chrome, apps para iOS, apps nativas para computadoras de escritorio y dispositivos de entrada limitados.
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. Para obtener más información, consulta Usa OAuth 2.0 para acceder a las APIs de Google. Por lo general, 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 de los usuarios 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 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 solicitar la aprobación. Esto funciona en ambos sentidos: si se otorgó acceso a un permiso en tu app para Android, no se volverá a solicitar a otro cliente en el mismo proyecto, como una aplicación web.