Kurz gesagt, was ist der Unterschied zur Verwendung der OAuth2-Anfrage getAuthToken und getToken?

8

Beim Zugriff mit dem Zugriffstoken OAuth 2.0 Kurz gesagt, was ist der Unterschied zur Verwendung:

AccountManager.getAuthToken ("oauth2:https...userinfo.profile") ,

und mit Google Plays:

%Vor%

Wie ich verstehe es beide produzieren ein Challenge -Bildschirm für den Nutzer, Der Google Plays-Bildschirm ist benutzerfreundlicher. Der Zugriffstoken kann denselben Geltungsbereich haben ?! Beide Aufrufe müssen asynchron sein. InvalidateToken sieht so aus, als ob es in beiden Aufrufen überprüft werden muss und mehr?

    
Erik 16.01.2013, 18:28
quelle

1 Antwort

22

Ich wusste nicht, dass ich die Google Play-Dienste für die OAuth 2.0-Authentifizierung nutze, aber nach einem kurzen Blick sieht es ziemlich interessant aus und ich denke, dass ich etwas lieber über den AccountManager.getAuthToken verwenden würde.

>

Hauptunterschiede

AccountManager.getAuthToken

Pro:

  • Kann für alle Android 2.0-Geräte und neuer verwendet werden.
  • Ist in Android integriert und erfordert kein separates SDK.
  • Kann für alle Arten von Konten verwendet werden, die einen Authentifikator haben, nicht nur Google.

Con:

  • Gibt ein Token zurück, das möglicherweise abgelaufen ist, so dass Sie immer das Token ungültig machen und es erneut anfordern, um sicherzustellen, dass Sie ein gültiges Token haben.
  • Erfordert die Berechtigungen GET_ACCOUNTS und USE_CREDENTIALS.
  • Der Challenge-Bildschirm ist für Android 2 nicht benutzerfreundlich. *

GoogleAuthUtil.getToken

Pro:

Con:

  • Erfordern Sie Android 2.2 und das Gerät Google Play
  • Erfordern Sie, dass Sie das Google Play-Dienst-SDK herunterladen und in Ihre App integrieren.
  • Sie müssen Ihre App registrieren die Google API-Konsole
  • Kann "nur" für Google-Dienste verwendet werden, die OAuth 2.0 verwenden

Bildschirmvergleichstest

AccountManager.getAuthToken Challenge-Bildschirm auf Gingerbread und Ice Cream Sandwich

GoogleAuthUtil.getToken Challenge-Bildschirm

Zusammenfassung

Da der GoogleAuthUtil-Ansatz einen viel benutzerfreundlicheren Challenge-Bildschirm hat und zum Zeitpunkt der Installation weniger Berechtigungen erfordert, würde ich definitiv diesen Ansatz anstelle des Ansatzes von AccountManager.getAuthToken verwenden, wann immer ich kann. Da Sie immer ein gültiges Token erhalten und nicht mit der Ungültigkeit des Tokens kämpfen müssen, sollte es den Code auch einfacher machen.

    
nibarius 17.01.2013, 08:06
quelle