我写了一个网络应用程序,通过Facebook连接(o-Auth)验证用户。 用户通过身份验证后,我有一个facebook令牌。 使用此令牌,我向Facebook发送请求以获取其基本用户信息。 此时我拥有用户唯一的Facebook ID,我知道它是谁。
我应该如何在用户,令牌及其数据库中的数据之间建立链接? 现在我的架构非常简单:facebook_id是主键,还有一些其他列包含令牌和用户的数据。这是正确的方法吗?
此时我需要在用户请求中设置唯一的SESSION_ID(cookie)吗?经过身份验证? 我对这部分感到困惑(并且通常使用会话管理)。当我在会话上设置属性时,浏览器会记住它是否在每次请求发送到我的服务器?所有页面?
最重要的问题是,如何在SESSION ID和用户之间进行映射?一旦我在他的请求上设置了会话ID,我需要弄清楚每个请求是谁。最好的方法是什么?
答案 0 :(得分:1)
老实说,最简单的方法就是使用Facebook Javascript SDK。这将自动通过cookie处理所有访问令牌检索和用户持久性,而无需为其编写代码。最终,这意味着您需要做的就是将Facebook用户ID与应用程序生成的内容一起存储在数据库中,而不必担心存储访问令牌或会话变量。这里有一个简单的分步指南:
https://developers.facebook.com/docs/howtos/login/getting-started/
(在步骤5中,您将收到用户ID,您可以从此处对服务器端代码进行AJAX调用,以将其存储在您的数据库中)