Facebook整合后端

Rui*_*res 7 facebook backend ios

这是怎么回事:

我有一个后端服务器,我有每个用户的信息.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;
    }
Run Code Online (Sandbox Code Playgroud)
  1. 现在如何将凭证传递给服务器,以便访问我们自己的端点?

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

  3. 我们在Facebook方面创建的应用程序(https://developers.facebook.com/apps/)在这方面有什么作用?

Mar*_*0ux 2

  1. 您可以使用以下方式获取 OAuth 令牌FBSession.activeSession.accessToken
  2. 我假设您将存储所有注册用户的电子邮件。您可以使用以下方式获取有关用户的信息:-[FBRequestConnection startForMeWithCompletionHandler:]。这将返回一个FBGraphUser包含电子邮件/姓名以及其他详细信息的实例。
  3. 您的 FB 应用程序在此过程中并没有真正发挥重要作用。当FB请求用户许可时,将显示应用程序的描述和图标。如果您在用户的源上发布任何内容,则会显示一个小图标。您可以将 FB 应用程序页面链接到您的网站。