链接Facebook将帐户连接到我的网站上的用户帐户

时间:2009-10-17 00:51:09

标签: asp.net facebook

我在找到需要从facebook连接开始的地方时遇到了一些麻烦。

基本上我已经在facebook中设置了我的应用程序,并且连接按钮正常工作。现在我想做一些非常类似于diggs实现的事情,在登录到Facebook时,他们被定向到创建帐户页面,他们必须输入用户名和一两个其他细节。

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

1 个答案:

答案 0 :(得分:0)

不,使用Cookie不是推荐的过程。我不知道ASP.net,但以下过程适用于其他语言:

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