Android dispose d'un système centralisé de gestion des informations d'identification pour les services en ligne (comme votre compte Google). Un composant est appelé le AccountManager
. Certaines applications peuvent " agir en tant qu'authentificateur de compte ". Cela signifie qu'ils comprennent comment se connecter à un service en ligne particulier et peuvent se connecter à ce service pour le AccountManager
. D'autres applications souhaitent utiliser ces informations de connexion pour vous identifier ou effectuer des actions en votre nom, sans que vous ayez à saisir votre mot de passe à chaque fois.
Exemple: connexion à Google
Votre téléphone dispose d'une application intégrée qui «fait office d'authentificateur de compte» pour votre compte Google. Il sait comment se connecter à Google et il a l'e-mail et le mot de passe que vous avez entrés lors de la configuration du téléphone. Il existe également une application YouTube, qui souhaite se connecter pour afficher vos vidéos préférées et vous permettre de commenter, mais sans avoir à saisir à nouveau votre e-mail et votre mot de passe.
Cette application YouTube parle à la AccountManager
et lui demande si elle possède des informations d'identification pour un compte Google. Poser cette question nécessite l'autorisation "trouver des comptes sur l'appareil". Le AccountManager
possède une liste d'authentificateurs installés sur le téléphone, qu'il consulte pour répondre à cette question. Si elle possède des informations d'identification, l'application demandera alors ce que l'on appelle un authtoken pour le compte Google. Cette demande nécessite l' autorisation " utiliser les comptes sur l'appareil ".
Le AccountManager
vous demande ensuite si vous souhaitez que l'application demandeuse (YouTube) puisse utiliser le compte demandé (compte Google). Cela peut être dans une boîte de dialogue qui apparaît sur l'application ou dans une notification. Alternativement, l'application peut choisir de ne rien faire si vous n'avez pas déjà répondu oui à cette question: elle voudra peut-être demander plus tard à un moment plus opportun. Cette étape garantit qu'une application disposant de l'autorisation "Utiliser les comptes sur l'appareil" ne peut pas utiliser immédiatement tous les comptes sans demander.
Si vous dites oui, la AccountManager
transmet la demande à l'authentificateur (l'application Google intégrée). Ce qui se passe ensuite dépend de l'authentificateur et du service particulier auquel vous vous connectez. Vous devrez peut-être vous connecter si vous ne l'avez pas déjà fait, et la connexion peut nécessiter un nom d'utilisateur et un mot de passe, une photo, un SMS ou autre chose. Quoi que fasse l'authentificateur, il peut échouer ou renvoyer un authtoken à l'application demandeuse.
Vérifications supplémentaires
L'authentificateur et le service en ligne peuvent également contrôler les actions que l'application demandeuse peut effectuer. Par exemple, lorsque vous connectez une application à votre compte Google, Google répertorie les autorisations dont l'application a besoin (telles que «télécharger des vidéos» pour YouTube). Ainsi, l'application ne peut effectuer que les actions répertoriées. Cependant, certains services peuvent ne pas avoir quelque chose comme ça; pour un tel service, une fois que vous avez autorisé l'application à utiliser vos informations d'identification, elle peut effectuer n'importe quelle action en votre nom.
Une fois que l'application demandeuse a obtenu l'authtoken, elle peut continuer à l'utiliser pour effectuer des actions en votre nom sans aucune autre interaction de votre part. Autrement dit, une fois que vous avez accepté que le client Twitter de Dan puisse publier sur votre flux Twitter, il peut s'exécuter en arrière-plan et publier d'autres tweets à votre insu. Vous ne devez accorder à l'application l'accès à vos informations d'identification que si vous lui faites confiance pour ne pas le faire.
Sommaire
Une application disposant de l' autorisation « utiliser les comptes sur l'appareil » peut, une fois installée, vous demander d'accéder à un service en ligne (tel que Google, Facebook ou Twitter) à votre nom. Vous pouvez choisir de le laisser accéder au service ou non. Si vous le laissez accéder au service, les actions qu'il peut entreprendre en votre nom peuvent être limitées par le service (c'est au service), et le service peut vous permettre de révoquer cette autorisation plus tard (généralement via une liste "d'applications connectées"). "sur le site Web du service).