Facebook连接的网站-数据库连接和逻辑



我试图让用户登录到我的网站使用他们的Facebook帐户。我试着从Facebook开发者(http://developers.facebook.com/docs/)页面阅读一些与过程相关的信息-虽然过程和逻辑有意义,但我仍然失去了关于大局。

如何'Facebook连接'链接到我现有的数据库的用户和他们的属性。假设有一个名为John Walker的用户,他是一个注册用户(login: jwalker pass:1234 account balance:$10)。当他来到网站,并尝试使用Facebook登录登录时,它如何知道将他引导到哪里?换句话说,Facebook如何知道这是正确的John Walker,他应该被发送到他的用户页面?

如果这个问题微不足道,我很抱歉,但我自己就是想不出来。提前感谢您的帮助!Zachary

Zachary,你对facebook connect有一点误解。当用户点击放置在您网站上的facebook连接按钮时,facebook不会去您的数据库验证用户。他在数据库中验证用户是否拥有facebook帐户……如果他/她有账户,那么facebook通过登录他到facebook向你发出一个访问令牌。然后,现在你的责任是在系统中登录该用户并将其信息存入数据库。让我详细解释一下,看看下面的代码

<>之前& lt;div id ="fb-root"> & lt;/div>& lt;脚本>窗口。fbAsyncInit = function() {FB。init({appId: "你的APP ID")状态:没错,饼干:没错,xfbml:真});FB.getLoginStatus(函数(响应){If (response.session) {//这是当用户登录到facebook时你得到控制的地方//此时,你可以将用户重定向到一个页面,在那里你可以将facebook返回的信息放入数据库,并将他登录到你的系统} else {}});FB.Event.subscribe("身份验证。, function(response) {window.location.reload ();});FB.Event.subscribe("身份验证。注销",函数(响应){self.location.href = " http://www.iranibash.com/logout.php ";});};(函数(){var e = document.createElement("script");e.src = document.location.protocol + "//connect.facebook.net/en_US/all.js";E.async = true;. getelementbyid (fb-root) .appendChild (e);} ());& lt;/脚本>之前

现在您可以使用成功登录后facebook返回给您的用户信息。您可以在$cookie中获得这些信息。我想你能从这个信息中理解吗?

最新更新