Facebook SSO和第三方网站注册一步到位?

Hay*_*ian 8 iphone android facebook registration single-sign-on

是/否+更多问题:

是否可以使用Facebook SSO系统并同时为您自己的网站/应用注册用户?

因为在用户方面只需要一个按键.

另外,iPhone和Android上有这方面的例子吗?

根据我的阅读,有一个进行SSO的过程和一个单独的注册过程.

理由是除了facebook通过Insights系统给我的内容之外,我还想保留自己的用户数据记录,但我想尽可能地让它变得无痛.

t ;;博士之前已经完成了这项工作,有哪些例子,以及任何有用和相关的文件?

Kri*_*tad 2

不太确定我理解正确,但假设您想在自己的系统中注册用户而不提供单独的注册流程(?),您可以执行以下操作:

\n\n
    \n
  1. 要求用户授权您的应用程序(即通过 SSO 或常规 FB 流程 \xe2\x80\x93\xc2\xa0,使用最新的 Facebook SDK 将触发相应的流程)。请务必询问您需要的任何额外权限请求您自己注册
  2. \n
  3. 一旦您的应用程序收到有关 Facebook 授权的通知,请通过 Facebook 的 API 提取注册所需的任何用户数据(即使用图形路径/me?fields=id,name,email获取 FB ID、姓名和电子邮件)。Graph API Explorer非常适合检查您可以获得哪些字段。
  4. \n
  5. 使用 (2) 中的响应POST在您自己的系统中创建一个帐户。
  6. \n
  7. 一旦您的帐户创建请求完成,允许用户开始在您的应用程序中执行他应该执行的操作(= 您已全部设置完毕!)。如果您以后需要的话,还可以在客户端(设备)中保存某种帐户标识符。
  8. \n
\n\n

为了使此流程对用户来说是无缝的,您可能应该在步骤 1-4 中显示加载/进度指示器。

\n\n

Facebook 的SDK 文档应该可以帮助您完成步骤 (1)。

\n\n

步骤 (2) 和部分 (3) 的一些示例(Objective-C)代码:

\n\n
- (void)facebookUserAuthorized\n{\n    [FBRequestConnection startWithGraphPath:@"me"\n                                 parameters:[NSDictionary dictionaryWithObject:@"id,name,birthday,first_name,last_name,gender,email" forKey:@"fields"]\n                                 HTTPMethod:@"GET"\n                          completionHandler:^(FBRequestConnection *connection, id result, NSError *error) {\n                              NSDictionary *userData = (NSDictionary*)result;\n                              [self registerUserWithEmail:[userData objectForKey:@"email"]\n                                               facebookId:[userData objectForKey:@"id"]\n                                                   gender:[userData objectForKey:@"gender"]];\n                          }];\n}\n\n- (void)registerUserWithEmail:(NSString*)email facebookId:(NSString*)facebookId gender:(NSString*)gender\n{\n    // Send a POST to your own server with the user details\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

我确信您可以在 Android 上应用相同的原则。查看Facebook 的 Android 文档以开始使用。

\n