Lorsque les développeurs créent un logiciel, celui-ci inclut systématiquement 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 une seule et même application.
L'implémentation OAuth 2.0 de Google est compatible avec cette vision du monde. Pour utiliser l'un des services basés sur OAuth2.0, vous devez configurer votre logiciel dans Google API Console. Dans l' API Console , l'unité organisationnelle est un"projet", qui peut correspondre à une application multi-composant. Pour chaque projet, vous pouvez fournir des informations sur la marque et spécifier les API auxquelles l'application va accéder. Chaque composant d'une application multi-composant est identifié par un ID client, une chaîne unique générée dans le API Console.
Objectifs d'autorisation multicompte
Lorsqu'une application utilise OAuth 2.0 pour l'autorisation, elle agit au nom d'un utilisateur pour demander un jeton d'accès OAuth 2.0 afin d'accéder à une ressource, identifiée par une ou plusieurs chaînes de champ d'application. Normalement, l'utilisateur est invité à approuver l'accès.
Lorsqu'un utilisateur donne 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 Google API Console. Par conséquent, lorsque l'accès d'un utilisateur à un champ d'application donné est accordé à n'importe quel ID client d'un projet, Google accorde une confiance à l'ensemble de l'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 inclut aujourd'hui les applications Web, Android, Chrome, iOS, iOS natives et de bureau.
Jetons d'accès multicompte
Le logiciel peut 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'octroi d'un jeton d'accès.
Heureusement, l'infrastructure d'autorisation de Google peut utiliser les informations sur les approbations d'utilisateurs pour un ID client au sein d'un projet donné lors de l'évaluation de l'autorisation d'autres utilisateurs dans le même projet.
En conséquence, si une application Android demande un jeton d'accès pour un champ d'application particulier et que l'utilisateur demandeur a déjà accordé une approbation à une application Web du même projet pour le même champ d'application, l'utilisateur ne sera plus invité à approuver l'accès. Cela fonctionne dans les deux sens: si l'accès à un champ d'application a été accordé dans votre application Android, il ne sera pas demandé à nouveau à un autre client du même projet, comme une application Web.