Identidad entre clientes

Cuando los desarrolladores compilan software, de manera rutinaria incluye 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 que todos estos módulos son 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 de API Console es un "proyecto" que puede corresponder a una app de varios componentes. Para cada proyecto, puedes proporcionar información de marca y debes especificar a qué APIs 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 entre clientes

Cuando una app usa OAuth 2.0 para la autorización, actúa en nombre del usuario y solicita un token de acceso de OAuth 2.0 para 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, el usuario mira la pantalla de consentimiento del usuario, que incluye el desarrollo de la marca a nivel de proyecto que configuraste en Google API Console. Por lo tanto, Google considera que cuando un usuario otorga acceso a un alcance en particular a cualquier ID de cliente en un proyecto, el otorgamiento indica que el usuario confía en toda la aplicación para ese alcance.

Como resultado, 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, que en la actualidad incluye aplicaciones web y para Android, Chrome, iOS, aplicaciones nativas de escritorio y dispositivos de entrada limitada.

Tokens de acceso entre clientes

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

Por suerte, 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 se autoriza 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ó aprobación a una aplicación web en el mismo proyecto para ese mismo alcance, no se le volverá a pedir la aprobación. Esto funciona de dos maneras: 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.