如何使用Facebook连接登录我的数据库?

时间:2009-07-02 20:29:25

标签: facebook

我有一个由Perl脚本运行的mysql成员资格数据库。帐户创建或登录需要电子邮件地址和密码。然后,Perl脚本设置co​​okie(密码cookie具有加密值),允许用户创建,拥有和修改记录。成员表包含用户信息。我已经浏览了FacebookConnect信息以及论坛。也许我看不到森林里的树木,也许这是不可能的。为了使用FacebookConnect进行登录/帐户创建,我需要能够将用户电子邮件和密码发送到Perl脚本,以便设置正确的cookie。如果是http,它看起来像这样:

http://domain.com/cgi-bin/perlscript.pl?_cgifunction=login&email=ddd@somedomain.com&password=somepassword

任何提示或建议都将不胜感激。

1 个答案:

答案 0 :(得分:9)

你想要做的事情实际上并不是你所描述的那样。

Facebook Connect基本上为您提供了一条信息:您的访问者是否登录了他们的Facebook帐户。如果是,你可以获得他们的Facebook ID,如果没有,你可以向他们显示一个按钮(或其他)并要求他们登录Facebook。

使用Facebook Connect作为您网站的身份验证方法时,通常使用的方法是为用户的会员帐户设置内部ID,并存储用户的Facebook ID。当用户访问您的站点并且他们已经登录到Facebook时,您只需使用他们的Facebook ID来检索本地帐户。否则,您将向他们显示您在本地登录的登录表单,和/或Facebook登录按钮。

您遇到的问题是,您无法从Facebook获取某人的电子邮件地址,因为它有意隐藏以保护隐私。如果您的成员资格脚本仅提供电子邮件/密码登录方法,那么您需要做的是修改这些脚本,以便在获得经过适当身份验证的Facebook ID时创建身份验证cookie。

基本上,您将拥有两个登录功能...一个用于Facebook登录,另一个用于常规登录。这两个函数都应该正确创建本地身份验证cookie。