Warum funktioniert Google Mail oauth nicht in meiner Android App?

9

Ich arbeite an einer App, die eine oauth2-Authentifizierung durchführt, die früher funktioniert hat, aber leider nicht mehr funktioniert. Soweit ich weiß (aber nicht 100% sicher), hat sich am Code nichts geändert, daher weiß ich nicht, warum es nicht mehr funktionieren würde.

Die App erstellt eine Webansicht und lädt eine URL von unserem Server, die sie an Google weiterleitet, um sich auf dieser URL zu authentifizieren (hat gerade die Client-ID und meine Domain geändert):

%Vor%

, die es sofort umleitet:

%Vor%

Das gleiche System wird von unserer iOS-App verwendet, die wie ein Zauber wirkt. Es ist also nichts falsch mit unserer Serverimplementierung. Nachdem die Webansicht zu Google umgeleitet wurde, kehrt sie automatisch zur App zurück, ohne einen Google-Bildschirm anzuzeigen. Ich verwende den folgenden Code, um die Webansicht zu öffnen:

%Vor%

und die logcat-Ausgabe lautet wie folgt:

%Vor%

Da dieses Protokoll nicht wirklich einen Fehler gibt, bin ich mir nicht sicher, was falsch sein könnte.

Hat jemand eine Idee, was könnte falsch sein oder wie kann ich das debuggen? Alle Tipps sind willkommen!

    
kramer65 29.02.2016, 18:07
quelle

1 Antwort

1

Ihr Code wurde wahrscheinlich aufgrund einer Aktualisierung in einem Teil der von Ihnen verwendeten APIs nicht mehr verwendet. Ich vermute, es könnte von OAuth auf OAuth2 aktualisiert werden, oder möglicherweise ein einfaches Patch-Update. Die einfachste Lösung wäre, Ihrem AndroidManifest.xml Nutzungsrechte und Metadaten hinzuzufügen:

%Vor%

Wenn das Problem nicht behoben wird , liegt wahrscheinlich ein größeres Problem vor.

Laut diesem Beitrag ist es besser,% co_de zu verwenden % für nicht-grafische Initialisierungen, da es vor onCreate() aufgerufen wird. Um sich bei Google wie in diesem Post angegeben anmelden zu können, müssen Sie zuerst ein Konto auf dem Gerät auswählen Gefällt dir so (setze das in deine onCreateView() oder Main.java ):

%Vor%

Dann müssen Sie das Token wie folgt aus dem ausgewählten Konto abrufen:

%Vor%

Sobald Sie das Token und das Konto authentifiziert haben, können Sie sich mit OAuth2 bei google anmelden (siehe OAuth2 GitHub Source für den Authentifizierungscode).

Wenn Sie immer noch Probleme haben und / oder Ihre Frage nicht vollständig beantwortet haben , lesen Sie dies zur Verwendung von OAuth2 mit MainActivity.java und API-Aufrufen oder dies zur Verwendung von OAuth2 mit AccountManager . Letzteres gehört wahrscheinlich eher zu Ihren Bedürfnissen. Beide geben ganze Beispieldateien darüber, wie man das macht, wonach Sie suchen.

Wenn Sie auch nach dem Lesen der beiden obigen Links noch Hilfe benötigen oder Fragen oder Bedenken haben, können Sie gerne einen Kommentar hinterlassen!

    
Abob 10.03.2016 07:12
quelle

Tags und Links