Android ha un sistema centralizzato per la gestione delle credenziali per i servizi online (come il tuo account Google). Un componente è chiamato AccountManager
. Alcune app possono " agire come autenticatori di account ". Ciò significa che comprendono come accedere a un particolare servizio online e possono accedere a quel servizio per il AccountManager
. Altre app vogliono utilizzare tali informazioni di accesso per identificarti o eseguire azioni per tuo conto, senza che tu debba inserire la password ogni volta.
Esempio: accesso a Google
Il telefono ha un'app integrata che "funge da autenticatore dell'account" per il tuo account Google. Sa come accedere a Google e ha l'email e la password che hai inserito quando hai configurato il telefono. C'è anche un'app di YouTube, che vuole accedere per mostrare i tuoi video preferiti e farti commentare, ma senza dover inserire nuovamente la tua email e password.
Questa app YouTube parla con AccountManager
e chiede se ha delle credenziali per un account Google. Per porre questa domanda è necessaria l'autorizzazione "trova account sul dispositivo". L' AccountManager
ha una lista di autenticatori installati sul telefono, che si consulta per rispondere a questa domanda. Se ha delle credenziali, l'app chiederà quindi ciò che è noto come autenticazione per l'account Google. Questa richiesta richiede l' autorizzazione " usa account sul dispositivo ".
L' AccountManager
allora si chiede se si desidera che l'applicazione richiedente (YouTube) per essere in grado di utilizzare l'account richiesto (account Google). Questo potrebbe essere in una finestra di dialogo che appare sopra l'app o in una notifica. In alternativa, l'app può scegliere di non fare nulla se non hai già risposto di sì a questa domanda: potrebbe voler chiedere in un momento più conveniente. Questo passaggio garantisce che un'app con l'autorizzazione "usa account sul dispositivo" non possa utilizzare immediatamente tutti gli account senza chiedere.
Se dici di sì, AccountManager
inoltra la richiesta all'autenticatore (l'app Google integrata). Quello che succede dopo dipende dall'autenticatore e dal particolare servizio a cui stai effettuando l'accesso. Potrebbe essere necessario effettuare l'accesso se non l'hai già fatto in precedenza e l'accesso potrebbe richiedere un nome utente e una password, una foto, un SMS o qualcos'altro. Qualunque cosa faccia l'autenticatore, può fallire o restituire un authtoken all'app richiedente.
Ulteriori controlli
L'autenticatore e il servizio online possono anche controllare quali azioni può eseguire l'app richiedente. Ad esempio, quando colleghi un'app al tuo account Google, Google elenca le autorizzazioni necessarie all'app (come "carica video" per YouTube). Pertanto, l'app può eseguire solo le azioni elencate. Tuttavia, alcuni servizi potrebbero non avere nulla del genere; per tale servizio, una volta che hai consentito all'app di utilizzare le tue credenziali, può intraprendere qualsiasi azione a tuo nome.
Una volta che l'app richiedente ha ottenuto il token di autenticazione, può continuare a usarlo per eseguire azioni a tuo nome senza ulteriori interazioni da parte tua. Cioè, una volta che hai concordato che il client Twitter di Dan può pubblicare sul tuo feed Twitter, potrebbe essere eseguito in background e pubblicare ulteriori tweet senza che tu lo sappia. Dovresti concedere all'app l'accesso alle tue credenziali solo se ti fidi di non farlo.
Sommario
Un'app con l' autorizzazione " usa account sul dispositivo " può, una volta installata, chiederti di accedere a un servizio online (come Google, Facebook o Twitter) a tuo nome. Puoi scegliere di consentire l'accesso al servizio o meno. Se gli consenti di accedere al servizio, le azioni che può intraprendere per tuo conto potrebbero essere limitate dal servizio (dipende dal servizio) e il servizio potrebbe consentire di revocare tale autorizzazione in un secondo momento (di solito tramite un elenco di "app connesse "sul sito Web del servizio).