Identité multicompte

Lorsque les développeurs créent un logiciel, celui-ci inclut régulièrement des modules qui s'exécutent sur un serveur Web, d'autres modules qui s'exécutent dans le navigateur et d'autres qui s'exécutent en tant qu'applications mobiles natives. Les développeurs et les personnes qui utilisent leur logiciel considèrent généralement tous ces modules comme faisant partie d'une seule application.

L'implémentation du protocole OAuth 2.0 de Google est compatible avec cette vue du monde. Pour utiliser l'un des services basés sur OAuth2.0, vous devez configurer votre logiciel dans Google API Console. L'unité d'organisation dans API Console est un "projet", qui peut correspondre à une application à plusieurs composants. Pour chaque projet, vous pouvez fournir des informations de branding et spécifier les API auxquelles l'application aura accès. Chaque composant d'une application à plusieurs composants est identifié par un ID client, une chaîne unique générée dans l' API Console.

Objectifs d'autorisation multicompte

Lorsqu'une application utilise OAuth 2.0 pour l'autorisation, elle agit au nom de l'utilisateur pour demander un jeton d'accès OAuth 2.0 pour accéder à une ressource, qu'elle identifie par une ou plusieurs chaînes de champ d'application. Normalement, l'utilisateur est invité à approuver l'accès.

Lorsqu'un utilisateur accorde l'accès à votre application pour un champ d'application particulier, il consulte l'écran de consentement de l'utilisateur, qui inclut le branding du produit au niveau du projet que vous avez configuré dans le Google API Console. Par conséquent, Google considère que lorsqu'un utilisateur a accordé l'accès à un champ d'application particulier à n'importe quel ID client d'un projet, l'attribution indique la confiance de l'utilisateur dans l'ensemble de l'application pour ce champ d'application.

Il en résulte que l'utilisateur ne doit pas être invité à approuver l'accès à une ressource plusieurs fois pour la même application logique, chaque fois que les composants de l'application peuvent être authentifiés de manière fiable par l'infrastructure d'autorisation de Google, qui comprend aujourd'hui les applications Web, Android, Chrome, iOS, les applications de bureau natives et les appareils à saisie limitée.

Jetons d'accès multicomptes

Les logiciels peuvent obtenir des jetons d'accès OAuth 2.0 de différentes manières, en fonction de la plate-forme sur laquelle le code est exécuté. Pour en savoir plus, consultez Utiliser OAuth 2.0 pour accéder aux API Google. Normalement, l'approbation de l'utilisateur est requise lors de l'attribution d'un jeton d'accès.

Heureusement, l'infrastructure d'autorisation de Google peut utiliser des informations sur les approbations d'utilisateurs pour un ID client dans un projet donné pour déterminer s'il faut autoriser d'autres utilisateurs du même projet.

Il en résulte que si une application Android demande un jeton d'accès pour un champ d'application particulier et que l'utilisateur à l'origine de la demande a déjà approuvé l'approbation d'une application Web du même projet pour ce même champ d'application, l'utilisateur n'est pas invité à approuver une nouvelle fois. Cela fonctionne dans les deux manières: si l'accès à un champ d'application a été accordé dans votre application Android, il ne sera plus demandé à un autre client du même projet (une application Web, par exemple).