Ich versuche, eine Flattern-App zu erstellen, die OAuth verwendet, um eine Verbindung zu einem Benutzerkonto auf einer anderen Website herzustellen. Dazu muss zur OAuth-Seite der Site navigiert werden, wo der Benutzer seine Anmeldeinformationen eingeben und anschließend den Code analysieren kann, der bei der Rückkehr des Benutzers an die App gesendet wird.
Meine Fragen sind also:
1) Wie kann ich zur OAuth-Webseite navigieren?
Ich habe herausgefunden, dass ich zu einer internen Route wie folgt navigieren kann:
%Vor% Aber was, wenn ich zu einer externen Seite wie https://coolsite.com/oauth/authorize
gehen möchte?
Wie kann ich das tun (a) indem ich die URL im lokalen Webbrowser öffne und (b) mit einer In-App-Webansicht?
2) Welche URL sollte ich nach der Authentifizierung an den Benutzer weiterleiten, damit sie zur App zurückkehren und wie kann ich die Antwort analysieren?
Es scheint, dass es zwei Möglichkeiten gibt:
(a) Lassen Sie den Benutzer auf eine leere Seite mit dem Autorisierungscode in der URL und dem Titel der Seite umleiten. Wenn diese Methode - wie analysiere ich die Seite oder die URL?
(b) Leiten Sie den Benutzer zu einer Art Schema um, zB my-dart-app://coolsite-oauth?code=xyz". If this method - how do I register the scheme, and would
coolsite-oauth map to a route that I specify when calling
new MaterialApp 'oder woanders? Und wie würde ich den Abfrageparameter analysieren?
Sie können eine Navigation mit dem Aktivitätsservice auslösen:
%Vor%Es gibt momentan keine Möglichkeit, eine Navigation in Flutter zu erhalten, aber das möchten wir hinzufügen. Ich habe dieses Problem erstellt, um diese Feature-Anfrage zu erfassen: Ссылка