2017-07-18 3 views
0

Ich versuche, Login mit Facebook in meiner iOS App zu integrieren, die ich erfolgreich gemacht habe. Danach möchte ich den Benutzer authentifizieren und in meinem Backend, welches Django ist, speichern.Login mit facebook in swift mit Django als Backend integrieren

Was ich getan habe ist, dass ich einen Web-App mit habe:

  • Django Rastrahmen
  • django-Rest-Rahmen-sozial oauth2
  • Python sozialer Auth

Ich habe den OAuth2-Fluss studiert und auch das Beispiel versucht, das gegeben ist bei:

https://github.com/PhilipGarnero/django-rest-framework-social-oauth2

Ich habe eine Anwendung in meinem Backend mit Hilfe von Django OAuth-Toolkit und mit dem angegebenen Client-ID und Client-Geheimnis war ich erfolgreich in der Lage eine POST-Anforderung mit curl mit dem Zugriffstoken von Facebook zur Verfügung gestellt zu senden. Es gibt mir ein Wörterbuch wie diese,

{ "access_token": "Ein Zugriffstoken hier", "token_type": "Bearer", "expires_in": 36000, "refresh_token": "Refresh Token hier über “,‚Umfang‘:‚Lese-Schreib‘}

ich eine Menge Verwirrungen habe so, wie gehe ich über den Benutzer von meinem Front-End bekommen und dann assoziieren und einen Benutzer in meinem back-End zu machen und Überprüfen Sie später, ob alle Aktionen von diesem Benutzer ausgeführt werden (z. B. Referenzieren des Benutzers).

Was ich verstanden habe ist, dass in meinem Front-End, das meine Swift-App ist, ich meinen Benutzer mit Facebook einloggen sollte. Facebook authentifiziert den Benutzer und gibt dann ein Zugriffstoken zurück. Ich sollte dieses Zugriffstoken an meine API senden und von dort ein Zugriffstoken erhalten? Muss ich einige benutzerdefinierte Ansichten dafür schreiben? Jede mögliche Hilfe würde

Hinweis verstanden werden: Ich habe durch alle android gegangen, iOS Django Fragen, Tutorials und Artikel

UPDATE-1:

Durch meinen iOS-App Ich bin in der Lage zu anmelden der Benutzer mit Facebook. Ich gebe das Facebook-Token an/authorize/convert-token/url und erhalte ein access_token. Die Dokumentation besagt, dass Sie dieses access_token für alle Ihre Anfragen verwenden sollten. Als Neuling, wie soll ich darüber gehen? Speichere das access_token in meiner iOS App und wie mache ich ständig Anfragen mit diesem Token?

Antwort

0

Zuerst installieren Sie das Facebook SDK für iOS. Dies gibt Ihnen eine LoginButton, die Sie in Ihrer Anwendung ablegen können: https://developers.facebook.com/docs/swift/login

Wenn Sie Facebook-Auth-Token zu bekommen, was Sie tun einen Token Konvertierung auf Ihrem eigenen Server die access_token zu erhalten (wie Sie bereits erwähnt, mit/genehmigen/Konvertieren-Token /). Das ist das Zeichen, die Sie im Kopf Ihrer HTTP-Anfragen an Ihren Django-Server umfassen kann (das folgende Beispiel mit Alamofire):

headers = ["Authorization": "Bearer " + access_token] 
Alamofire.request(requestUrl, method: method, parameters: parameters, encoding: JSONEncoding.default, headers: headers) 
+0

ich das Zugriffstoken erhalten und konnte es passieren mit Alamofire. Ich bekomme ein access_token zurück. Wie sollte ich dieses Token für alle meine Anfragen verwenden? – indexOutOfBounds

+0

Sobald Sie Ihr Token konvertiert haben, verwenden Sie die Zeile oben. Es ist nur, dass ich access_token authToken aufgerufen habe. – disconnectionist