2013-04-29 14 views
5

Sto lavorando a un'app che dovrà ottenere l'autorizzazione tramite OAuth2 da un servizio Web di terze parti (terza parte che significa che non è Google e non la possiedo).Utilizzo di AccountManager Android per autorizzazione OAuth2 di terze parti

questo articolo:

http://developer.android.com/training/id-auth/authenticate.html

sembra suggerire che dovrei essere usando AccountManager per questo scopo. Dopo aver riflettuto, ho dei dubbi sul beneficio di farlo, o anche se è appropriato per me farlo. Se volessi utilizzare un account Google o qualche altro account che era già stato installato in AccountManager da qualche altra app, ovviamente sarebbe una buona idea ottenere le credenziali da AccountManager. Ma dal momento che sto per utilizzare un account che molto probabilmente non è in AccountManager, dovrei fare tutto il lavoro per farlo installare.

AccountManager fornisce supporto nella gestione effettiva delle richieste OAuth2? Se non lo fa, allora cosa guadagno usandolo?

E poiché non possiedo il servizio Web associato a questo tipo di account, è anche appropriato che io stia installando tali account in AccountManager?

Grazie!

risposta

0

Questa potrebbe essere una risposta piuttosto tarda dopo tutti questi 4 anni, ma lascia che ti dia una breve risposta.

Non puoi e non devi installare da solo account di terze parti per Oauth. È compito di quei provider OAuth di terze parti come Facebook o Twitter implementare la funzionalità di AccountManager e creare il proprio tipo di account. Questo è approssimativamente guidato a https://developer.android.com/training/id-auth/custom_auth.html.

Esistono diversi servizi, inclusi provider OAuth come Facebook, Twitter, WeChat e così via, che registrano gli account utente in AccountManager ma credo che la maggior parte di essi li utilizzi solo per implementare SyncAdapter (che richiede Account), non per fornire Funzionalità OAuth per applicazioni di terze parti come la tua app.

Penso che Google ti consenta di utilizzare le loro API utilizzando il token acquisito tramite AccountManager; il collegamento fornito fornisce un esempio di utilizzo di AccountManager per l'API di attività. Tuttavia, l'utilizzo della libreria client è un'opzione migliore per ottenere la stessa funzionalità descritta in https://developers.google.com/google-apps/tasks/quickstart/java#step_3_configure_the_project_build.

Se il provider OAuth di terze parti non fornisce alcun SDK o librerie client, non si ha altra scelta che utilizzare le API REST fornite.

Problemi correlati