Ich entwickle eine Android-Anwendung, bei der sich die Benutzer auf einer Website registrieren und anmelden müssen, um dann die Registrierungsdaten in einer Android-Anwendung zu verwenden. Sollte ich oauth oder openid verwenden oder gibt es etwas Besseres, damit ich kein Einweg-Authentifizierungssystem entwickeln muss?
Antwort
Zu viele Anzeigen?OpenID
Wenn Sie lediglich einen Benutzer in Ihrer Android-App authentifizieren möchten, ohne Daten zwischen Ihrer Anwendung und den Benutzerdaten auszutauschen, die von einem Drittanbieter (wie Google, Flickr, Facebook, ....) gespeichert und verwaltet werden, dann ist OpenID vielleicht die bessere Option für Sie.
Es gibt eine javabasierte Bibliothek, die auf der Android-Plattform funktionieren sollte. openid4java .
OAuth
OAuth, obwohl ein Teil des Arbeitsablaufs die Authentifizierung gegenüber einem OAuth-Dienstanbieter beinhaltet, konzentriert sich mehr auf den Teil der Autorisierung, da es den zugrunde liegenden Authentifizierungsmechanismus weitgehend nicht kennt.
Wenn Sie möchten, dass Ihre Anwendung im Namen des Benutzers handelt (um Benutzerdaten abzurufen, die bei einer dritten Partei gespeichert sind, die OAuth unterstützt), dann ist OAuth eine interessante Option. OAuth ist nicht in der Lage, die Identität des Benutzers zu erlangen, sondern dient lediglich als Autorisierungsmechanismus für einen bereits identifizierten Benutzer.
Wegweiser ist eine javabasierte Bibliothek, die unter Android funktioniert.
OpenID-Verbindung
Eine weitere interessante Lösung für Early Adopters ist ID connect öffnen die das Beste aus den 2 Welten vereint.
Weitere Hintergrundinformationen finden Sie in den folgenden Beiträgen.
- Was ist der Unterschied zwischen OpenID und OAuth?
- http://softwareas.com/oauth-openid-youre-barking-up-the-wrong-tree-if-you-think-theyre-the-same-thing
- http://thenextweb.com/socialmedia/2010/11/04/facebook-connect-oauth-and-openid-the-differences-and-the-future/
Und natürlich die technischen Daten: