Die Authentifizierung von Dropbox lässt den Browser offen

8

Ich versuche, dass meine App eine Datei auf Dropbox hochlädt und ich habe ihr DBRoulette-Testprogramm heruntergeladen, aber ich habe dort auch das seltsame Verhalten gefunden, das ich jetzt erklären werde

Grundsätzlich, sobald Sie die Schaltfläche zum Authentifizieren der App drücken und autorisieren, um es mit Ihrer Dropbox zu verknüpfen, gibt es einen Befehl, den die Bibliothek bereitstellt, nämlich

  
    

private DropboxAPI mApi;

         

mApi.getSession (). startAuthentication (Kontext);

  

Sobald dieser Befehl ausgeführt wird, öffnet der native Browser und zeigt die Schaltflächen "Verweigern" oder "Zulassen" an, um die Autorisierung zu akzeptieren oder nicht, aber das Problem ist, dass die App zurückkehrt und sich selbst zeigt während der native Browser im Hintergrund liegt und bereit ist, erneut zu erscheinen, sobald Sie die App verlassen, und das ist ziemlich ärgerlich (obwohl es nur beim ersten Start der App geschieht)

ps. bevor ich es vergesse, verwende ich in der onResume den folgenden Code, der in der Anleitung

vorgeschlagen wird
  
    

session.finishAuthentication ();

  

Danke an alle, die mir helfen werden, dieses Problem besser zu verstehen und (hoffentlich) das Umleiten der Autorisierung in einem Webview ODER das Schließen des nativen Browsers zu lösen, sobald die Taste gedrückt und die Authentifizierung verarbeitet wird.

    
kioli 07.05.2012, 14:00
quelle

1 Antwort

3

Leider können Sie nicht viel dagegen tun.

Der Authentifizierungsprozess läuft auf der Serverseite, d. h. auf Dropbox. Das bedeutet, dass Dropbox die Vorgehensweise für die Authentifizierung eines Benutzers definiert, dem Sie als Kunde folgen müssen. Das ist Teil der Idee des OAuth Authentifizierungsablaufs.

Was ich selbst erlebt habe, ist die Tatsache, dass wenn Sie die offizielle Dropbox-App installiert haben, die App zur Authentifizierung des Benutzers (anstelle des Browsers) verwendet wird und auch geschlossen wird, nachdem der Benutzer die Erlaubnis / Abbrechen-Schaltfläche gedrückt hat .

    
jenzz 23.08.2012, 18:43
quelle