2009-07-13 6 views
0

Das Starten einer URL in Safari ist in einer iPhone-Anwendung einfach - die openURL-Methode von UIApplication.Starten von Safari aus einer iPhone-App mithilfe von NSMutableURLRequest und OAuth

Allerdings mache ich ein paar OAuth-Sachen und möchte der pattern that pownce used to handle OAuth folgen. Aber seit OAuth wants me to explicitly set the Authorization header weiß ich nicht weiter. Ich kann Header über NSMutableURLRequest festlegen ... aber wie übersetzt sich das zum Erstellen einer NSURL, die meine App an die UIApplication-Methode übergeben kann?

Antwort

2

Während der Server-zu-Server-Interaktionen verwendet die empfohlene Methode zur Übergabe von OAuth-Parametern vom Consumer an den Service Provider den HTTP Authorization-Header. Wenn der Benutzer jedoch vom Consumer an den Service Provider umgeleitet wird, gibt OAuth tatsächlich an, dass eine HTTP GET-Anfrage verwendet werden soll (siehe Abschnitt 6.2.1, ich kann keine Verknüpfung herstellen. Ich bin ein neuer Benutzer und kann nur einen schicken Hyperlink - sehr nervig StackOverflow). Sie müssen also kein NSURLRequest an eine mobile Safari weitergeben. Öffnen Sie einfach die URL wie beschrieben.

Wenn Sie ein Codebeispiel für den vollständigen OAuth-Fluss auf dem iPhone sehen möchten, können Sie sich gerne an die Nummer sample FireEagle app I wrote wenden. Es wurde auf die gleiche Weise implementiert wie die App von Pownce.

+0

Vielen Dank fürs Einspielen, Mike! – bpapa

0

Von dem, was ich gesehen habe, ist die übliche Art, OAuth-Unterstützung in einer iPhone-Anwendung zu implementieren, ein modales Blatt mit einem Webview darin darzustellen. Auf diese Weise können Sie einen NSURLRequest mit benutzerdefinierten Headern verwenden.

+0

Das stimmt, aber es widerspricht dem Geist von OAuth, die Seite innerhalb Ihrer eigenen Anwendung zu präsentieren. – bpapa

Verwandte Themen