2010-11-21 7 views
5

Ich baue eine iPhone App mit einigen sozialen Funktionen. Ich habe es geschafft, dass der Benutzer sich in meiner Anwendung bei Facebook anmeldet. Ich habe auch eine Webansicht implementiert, die eine Facebook iPhone-optimierte Seite lädt. Was ich jetzt tun möchte, ist, dass mein Benutzer in der Webansicht eingeloggt ist, ohne sich zweimal einloggen zu müssen (einmal in der App und einmal in der Webansicht)iOS - nachdem ich mich mit dem SDK angemeldet habe, in einem WebView eingeloggt

Ich habe ein paar Dinge ausprobiert, mit denen ich herumgespielt habe access_token in der URL, aber es hat nicht funktioniert.

Weiß jemand, ob es möglich ist, das zu implementieren und wie es geht?

Vielen Dank im Voraus für Ihre Hilfe

+0

Vielleicht hilft das http://stackoverflow.com/questions/7835381/how-can-i-use-an-access-token-to-circumvent-fb-login –

Antwort

1

Kurze Antwort: Du ist wahrscheinlich, dass in der Lage sein zu tun, nicht zugelassen.

Die Idee ist, dass Ihre App nur ein Authentifizierungs-Token speichern sollte, mit dem Sie Dinge wie als Ihre App tun können (z. B. Post an die Wand als Ihre App). In der Web-Version ist der Benutzer bei Facebook angemeldet und Facebook gibt zusätzlich ein Authentifizierungs-Token an Ihre Website weiter; auf der iOS-Version, ich denke Sie nie erhalten die Facebook-Session-Cookie, und ich bin ziemlich sicher, dass Sie die Facebook-Session-Cookie auf der Web-Seite der Dinge eingeloggt sein müssen (vor allem, da es für den Browser — Abmeldung konzipiert ist Facebook meldet Sie von Facebook Connect auf allen Seiten ab).

Es gibt viele Dinge, die Sie tun können, um zu umgehen — es ist trivial, nur den Benutzer nach einem Benutzernamen/Passwort zu fragen (und die ganze Idee einer "vertrauenswürdigen UI" in einem UIWebView in Ihrer App ist fehlerhaft, trotz Facebooks Ansprüche).

Die "richtige" Aufgabe ist es, alles über Aufrufe des iOS SDK zu implementieren, damit Sie sich nicht mit der Web-Seite der Dinge beschäftigen müssen.

+0

Vielen Dank für Ihre Antwort :) Schade, wenn es nicht möglich ist. Mein Punkt war, einen schnellen bequemen Zugang zu einigen Facebook-Funktionen zu geben. Wenn ich brauche, dass mein Benutzer jeden Tag von Facebook dazu aufgefordert wird, wird es keine großartige Benutzererfahrung sein. Einen Teil der großen, bereits existierenden Facebook-App neu zu implementieren ist auch keine gute Idee. Ich denke, dass die beste Lösung darin besteht, direkt auf die Facebook-App zu verweisen. Mit schnellen App-Wechseln ist es nicht so schlimm. – saintmac

+0

Können Sie erklären, wie Sie das umgehen würden, indem Sie den Benutzer nach seinen Anmeldeinformationen fragen? – saintmac

0

haben Sie Ihre App am Simulator oder auf dem Gerät getestet? Der Grund, den ich frage, ist, weil ich versuche, die App in fb bleiben zu bleiben, die es macht, sorta ... es erscheint immer noch ein FB-Dialog sagen, dass es gut eingeloggt ist und der Benutzer muss auf einen OK-Button klicken.

Ich hatte keine Zeit, es auf dem Gerät zu testen, aber ich denke, dass es mit der Tatsache, dass mit dem OAuth 2.0, mit 3.2.x oder> ... wenn das FB installiert ist verwendet wird, verwendet es die FB -app login, aber wenn es nicht installiert ist, verwendet es den Safari-Web-Login.

Da Simulator nicht die fb App installiert hat, verwendet es tatsächlich den Safari Web Login (ich demütig abgeleitet), der sonst einen Cookie speichern würde und vielleicht tut es das nicht auf dem Simulator..dunno, bin ich immer noch auf der Suche nach der Antwort auf, dass man :)

+0

Ich teste sowohl am Simulator als auch am Gerät. Und ich teste auf dem Gerät mit und ohne Facebook App. Der Login für die API funktioniert einwandfrei.Was ich jedoch erreichen möchte, ist in facebook mobile eingeloggt in einer Webansicht, mit der API-Authentifizierung. – saintmac

Verwandte Themen