FB登录步骤澄清

时间:2015-10-21 07:25:59

标签: javascript facebook session facebook-graph-api login

我在我的网站上整合了FB登录。为此我使用的是Javascript SDK。以下是我要遵循的步骤。

  1. 用户点击FB登录选项,用户通过FB显示POP UP以输入他的凭据。
  2. FB发送包含accessToken,expire time等的响应。
  3. 此用户将看到专用于我的网站的注册表格,其中包含电子邮件和其他基本条目。他必须选择一些用户名,然后点击注册。
  4. 用户点击注册后,他的详细信息将存储到数据库中,他的用户名将保留在会话中,并且他现在已登录。
  5. 用户注销。现在,用户再次点击FB登录,如果DB中已经存在电子邮件我正在通过将用户名置于会话中来让用户登录我的网站。
  6. 现在,我的问题是。

    • 我还要在步骤3中为我的数据库中的用户存储访问令牌吗?如果是,那么将它发送到服务器端的最佳加密介质是什么?
    • 此外,是否需要在cookie / session中存储访问令牌?
    • 如果对我的Q1的回答是肯定的,那么我是否能够使用存储在DB中的访问令牌来验证用户是否再次使用FB登录?

    据我所知,一旦访问令牌过期,Javascript SDK将生成新的访问令牌。因此,如果用户在很长一段时间后登录,则此验证可能不适用。

1 个答案:

答案 0 :(得分:0)

  

我还要在步骤3中为我的数据库中的用户存储访问令牌吗?如果是,那么将它发送到服务器端的最佳加密介质是什么?

不,如果您不打算为服务器的用户执行任何自动化任务。在这种情况下,您需要将访问令牌更改为长期令牌,但这是另一个线程。

  

此外,是否需要在cookie / session中存储访问令牌?

不,Facebook的JS SDK会为您完成所有访问令牌处理。

  

如果对我的Q1的回答是肯定的,那么我是否可以使用存储在数据库中的访问令牌来验证用户是否再次使用FB登录?

没有。您可以将Facebook用户ID保存到数据库中,这比电子邮件更加稳定。电子邮件可以更改,用户ID不会。所以你应该比较用户ID。

就像旁注:

Facebook还有一个服务器端登录流程,应该用于验证用户身份。如果您只是使用JS SDK对用户进行身份验证,那么以客户可以想象的任何用户身份登录相对容易。