2017-07-18 65 views
0

我正尝试在我的iOS应用程序中集成登录与Facebook,我成功了。之后,我想验证用户并将其保存在Django的后端。在使用Django作为后端在swift中集成登录与facebook

我所做的是,我有一个web应用程序有:

  • Django的REST框架
  • Django的休息框架,社会的oauth2
  • Python的社会权威性

我已经研究了OAuth2流程,并且还尝试了以下示例:

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

我在后台创建的应用程序使用Django的OAuth工具的帮助,并与给定的客户ID和客户端秘密我是能够成功地发送使用curl与Facebook提供的访问令牌的POST请求。它返回我的字典是这样,

{ “的access_token”: “访问令牌在这里”, “token_type”: “承载”, “expires_in”:36000, “refresh_token”:“刷新令牌在这里”,‘范围’:‘读写’}

我有很多的混乱让我怎么去获得从我的前端用户,然后进行关联,使我在后端用户和稍后检查是否所有操作都由该用户完成(如引用用户)。

我的理解是,在我的前端,这是我的swift应用程序,我应该让我的用户登录Facebook。 Facebook认证用户,然后返回访问令牌。我应该将该访问令牌发送到我的API并从那里获取访​​问令牌?我必须为它编写一些自定义视图吗?任何帮助,将不胜感激

注:我已经完成了所有的Android了,iOS系统Django的问题,教程和文章

UPDATE-1:

通过我的iOS应用程序,我可以登录用户使用Facebook。我将Facebook令牌传递给/ authorize/convert-token/url并获取access_token。该文件说你应该在你的所有请求中使用这个access_token。作为新手,我应该怎么做呢?将access_token保存在我的iOS应用程序中,并且如何不断使用此令牌发出请求?

回答

0

首先安装适用于iOS的Facebook SDK。这会给你一个LoginButton,你可以拖放到你的应用程序: https://developers.facebook.com/docs/swift/login

一旦你得到Facebook的身份验证令牌,你做一个令牌转换自己的服务器,以获得的access_token(如你在上面提到的,与/授权/转换令牌/)。这是令牌,您可以在您的HTTP请求到你的Django服务器(下面的例子是使用Alamofire)头:

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

我得到的访问令牌,并能够使用Alamofire传递给它。我找回一个access_token。我应该如何在所有请求中使用此令牌? – indexOutOfBounds

+0

一旦你转换了你的令牌,你就使用上面的这一行。这就是我称之为access_token的authToken。 – disconnectionist