2009-10-17 149 views
1

我遇到一些麻烦,我需要开始与Facebook连接。链接Facebook连接帐户,以我的网站上的用户帐户

基本上我已经在facebook中设置我的应用程序,并获得连接按钮的工作。现在我想做一些与diggs实现非常相似的事情,当登录Facebook时,他们被引导到创建帐户页面,在那里他们必须输入用户名和一个或两个其他详细信息。

我是否需要捕获返回的cookie,检查我的数据库以查看它们是否存在并手动执行此操作,或者是否存在缺少的步骤?

回答

0

不,使用cookie不是推荐的过程。我不知道ASP.net,但下面的过程在其他语言的工作对我来说:

  1. 包括Facebook的Javascript SDK在你的HTML作为文档显示
  2. 添加页面加载调用FB.getLoginStatus类似于包含here的示例,并按以下方式处理响应:
    • connected表示用户在注册您的站点之前已经认证了相关的FB应用程序。在这种情况下,response.authResponse对象将包含一个访问令牌,您应该在数据库中为该用户更新该访问令牌,并通过对服务器端代码的AJAX调用执行此操作。
    • not_authorized表示用户未授权与您的网站相关的FB应用程序。在这种情况下,你应该使用一些Javascript来使“连接”按钮出现(它应该是不可见的,直到这一点,我认为)。
    • 在其他情况下,用户没有登录到Facebook,所以只需使“连接”按钮出现即可。
  3. 将呼叫连接到FB.login到您的“连接”按钮。正如您在该方法的文档中所看到的那样,它将弹出一个用户必须接受的权限对话框,以注册您的应用程序,从而注册您的网站。只要他们接受,您的Javascript代码将会收到与上述类型相同的response.authResponse对象。在这种情况下,你会想要做一些与访问令牌不同的事情。以下只是您可能想要做什么的模糊想法,但您的方法应该大致相似。
  4. 在上面的FB.login的响应函数中,只要确定了成功的结果,就插入一些额外的Javascript来显示或创建您的网站注册表单的HTML。这可能是最好的,如果你不重定向离开当前页面,这样你可以保留大部分代码在客户端(否则你需要临时存储访问令牌的地方等)
  5. 允许用户将他们的注册信息输入到此表单中,并且一旦他们提交,将您从authResponse中检索到的访问令牌和Facebook用户ID与表单字段一起传递。
  6. 使用您的服务器端代码进行处理,并将访问令牌和FB UID与新注册的用户详细信息一起存储。
相关问题