it-swarm.com.de

Was ist ein Redirect-URI? Wie gilt es für iOS App für OAuth2.0?

Anfänger Programmierer hier, bitte verzeihen Sie Unwissenheit und Erklärungen werden wirklich nett sein :)

Ich habe versucht, die Tutorials für einen bestimmten OAuth= 2.0-Dienst zu lesen, aber ich verstehe diesen Umleitungs-URI nicht ... in meinem speziellen Kontext, sagen wir, ich versuche, einen zu erstellen iPhone-App, die OAuth 2.0 für einen Dienst verwendet. Ich habe eine App-ID, die generiert wurde, aber ich muss eine Art Umleitungs-URI bereitstellen, um den API-Schlüssel zu generieren.

Ist das eine URL, die ich selbst hosten soll? Wie der Name schon sagt, würde ich denken, dass die Weiterleitungs-URL jemanden irgendwo "weiterleiten" soll. Ich vermute nur, dass dies die URL ist, zu der ein Benutzer umgeleitet wird, nachdem er sich beim Dienst angemeldet hat.

Auch wenn diese Annahme richtig ist, verstehe ich nichts anderes - wie kann meine App wieder geöffnet werden, nachdem ich sie für die Benutzeranmeldung an den Browser gesendet habe?

171
David T.

Lesen Sie dies:

http://www.quora.com/OAuth-2-0/How-does-OAuth-2-0-work

oder eine noch einfachere, aber schnellere Erklärung:

http://agileanswer.blogspot.se/2012/08/oauth-20-for-my-ninth-grader.html

Die Umleitungs-URI ist der Rückruf-Einstiegspunkt der App. Überlegen Sie, wie OAuth für Facebook funktioniert - nachdem der Endbenutzer die Berechtigungen akzeptiert hat, muss "etwas" von Facebook aufgerufen werden, um zur App zurückzukehren, und "etwas" ist die Weiterleitungs-URI sollte sich der Umleitungs-URI vom anfänglichen Einstiegspunkt der App unterscheiden.

Der andere wichtige Punkt bei diesem Rätsel ist, dass Sie Ihre App von einer URL aus starten können, die einer Webansicht zugewiesen wurde . Dazu folgte ich einfach der Anleitung hier:

http://iosdevelopertips.com/cocoa/launching-your-own-application-via-a-custom-url-scheme.html

und

http://inchoo.net/mobile-development/iphone-development/launching-application-via-url-scheme/

Hinweis: Auf diesen letzten beiden Links funktioniert "http: //" beim Öffnen von Mobile Safari, aber "tel: //" funktioniert nicht im Simulator

in der ersten app rufe ich an

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"secondApp://"]];

In meiner zweiten App registriere ich "secondApp" (und NICHT "secondApp: //") als Namen des URL-Schemas und meine Firma als URL-ID.

189
David T.

Schauen Sie sich OAuth 2.0 playground an. Sie erhalten einen Überblick über das Protokoll. Es ist im Grunde eine Umgebung (wie jede App), die Ihnen die Schritte zeigt, die mit dem Protokoll verbunden sind.

https://developers.google.com/oauthplayground/

8
Reckoner

umgeleitete URL ist der Speicherort, an den der Benutzer nach erfolgreicher Anmeldung bei Ihrer App umgeleitet wird. Um beispielsweise Zugriffstoken für Ihre App in Facebook zu erhalten, müssen Sie umgeleitete URLs übermitteln, die nicht nur die App-Domain sind, die Sie beim Erstellen Ihrer Facebook-App angeben.

7
Dhirender Tyagi

Wenn Sie Facebook SDK verwenden, müssen Sie sich nicht die Mühe machen, auf der App-Verwaltungsseite von Facebook etwas für die Umleitungs-URI einzugeben. Richten Sie einfach ein URL-Schema für Ihre iOS-App ein. Das URL-Schema Ihrer App sollte den Wert "fbxxxxxxxxxxx" haben, wobei xxxxxxxxxxx Ihre auf Facebook angegebene App-ID ist. Um das URL-Schema für Ihre iOS-App einzurichten, gehen Sie zur Registerkarte "Info" Ihrer App-Einstellungen und fügen Sie den URL-Typ hinzu.

2
Kunal Khanna