2013-05-03 59 views
7

这是怎么回事:Facebook的整合后端

我有,我有每个用户的信息的后端服务器。 Twitter和Facebook的身份验证是让用户访问自己的应用时下的一种常见的方式,所以就决定他/她应该能够利用这些平台+经典的方式(电子邮件+密码)

问题:

如登录使用Facebook的

的用户后,我接到一个电话回来,说明它是成功的(例如与SDK):

- (void)sessionStateChanged:(FBSession *)session 
         state:(FBSessionState) state 
         error:(NSError *)error 
{ 
    switch (state) { 
     case FBSessionStateOpen: 
      if (!error) { 
       // We have a valid session 
       NSLog(@"User session found"); 
      } 
      break; 
     case FBSessionStateClosed: 
     case FBSessionStateClosedLoginFailed: 
      [FBSession.activeSession closeAndClearTokenInformation]; 
      break; 
     default: 
      break; 
    } 
  1. 怎么可能现在就通过凭证s到服务器,以便 访问我们自己的端点?

  2. 后端如何知道正在发出 请求的该特定用户实际上已在您的后端进行身份验证(或注册)?

  3. 我们在脸书上创建的应用程序 (https://developers.facebook.com/apps/)有什么作用?

回答

2
  1. 可以使用FBSession.activeSession.accessToken
  2. 得到OAuth令牌我想你会保存所有注册用户的电子邮件。您可以使用以下方式获取有关用户的信息:-[FBRequestConnection startForMeWithCompletionHandler:]。这将返回包含电子邮件/名称以及其他详细信息的FBGraphUser实例。
  3. 你的FB应用在这个过程中并不真正起到很大的作用。当FB向用户请求权限时,将显示应用程序和图标的描述。如果您在用户的Feed上发布任何内容,则会显示一个小图标。您可以将您的FB应用程序页面链接到您的网站。
+0

Twitter是否至少提供了相同的OAuth令牌?并使用本机集成(从设置)我将能够获得相同的信息? – Peres 2013-05-03 13:36:08

+0

是的,我相信如此:https://dev.twitter.com/docs/ios/using-reverse-auth – Mar0ux 2013-05-03 13:38:13