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

是/否+更多问题:

是否可以使用Facebook的SSO系统,同时注册一个用户为自己的网站/应用程序?

就像只需要用户一个按键一样。

另外,iPhone和Android上有这个工作的例子吗?

从我读过的内容来看,有一个做SSO的过程和一个独立的注册过程。

理由是,除了Facebook通过Insights系统给我提供的信息之外,我还想保留自己的用户数据logging,但是我希望尽可能地让这个数据无痛苦。

博士之前已经完成了这个,有哪些例子,以及任何有用和相关的文档可用?

Solutions Collecting From Web of "Facebook的SSO和第三方网站注册一步到位?"

不太确定我是否正确理解你,但是假设你想在自己的系统中注册一个用户而不需要提供一个单独的注册stream(?),你可以执行以下操作:

  1. 要求用户授权您的应用程序(即通过SSO或常规的FBstream程 – 使用最新的Facebook SDK将触发适当的stream程)。 请务必要求您为自己的注册所需的任何额外权限 。
  2. 一旦你的应用程序被通知Facebook的授权,通过Facebook的API(即使用图path/me?fields=id,name,email获取FB ID,名称和电子邮件)提取任何用户数据需要注册。 graphicsAPI资源pipe理器很适合检查你可以得到的字段。
  3. 使用来自(2)的响应来为您自己的系统创build一个POST来创build一个帐户。
  4. 一旦您的帐户创build请求完成,让用户开始做他应该在你的应用程序(=你都设置!)。 并可能在客户端(设备)保存某种帐户标识符,如果您以后需要它。

为了使这个stream程与用户无缝连接,您应该在步骤1-4中显示加载/进度指示器。

Facebook的SDK文档应该让你去步骤(1)。

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

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

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