我想整合我现有的PHP网站与Facebook登录功能。我目前有一个简单的登录注册用户名,密码和电子邮件进行激活,他们的详细信息存储在MYSQL数据库中。我想为Facebook用户添加额外的登录访问权限。我很担心我将如何将我当前的登录访问与新的Facebook访问进行整合。我的想法是我的所有页面都需要用户登录,我使用cookie来存储会话变量,比如我用来在网页上构建内容的昵称。Facebook集成在PHP网站
我很困惑我在网络上研究的许多方法,有些现在已经过时了,而其他的方法似乎是一半的解决方案。这三个不断重复出现。
A)Login.php,Register.php和fbReg.php 使用fb login/register创建会话并将身份验证传递给fbReg.php时,login.php和register.php出现,但它只是页面重定向后,在那里停留在空白屏幕上。
(从Register.php片段)
<script type="text/javascript">
FB.init({appId: '<?php echo $fb_app_id; ?>', status: true,
cookie: true, xfbml: true});
<?php
if ($errors == 0) {
?>
$('#form_hidden').hide();
<?php } else { ?>
checkInput('username');
checkInput('email');
checkInput('lastname');
checkInput('firstname');
checkInput('password');
checkInput('password2');
<?php } ?>
</script>
B)传统连接验证 http://developers.facebook.com/docs/authentication/connect_auth/ 使用我构建了一些测试脚本上面的链接只是为了看看如果验证是可行的。幸运的是,在我的网站上,我拥有第三方广告或网页框,但按照步骤从我的主登录页面构建interstitial_page和重定向页面。但是我不断收到一个空会话。
(从PHP登录页面片断)
$api_key = "YOUR_API_KEY";
$interstitial_page = "YOUR_SECURE_URL"; //URL with no 3rd party apps
$url='http://www.facebook.com/login.php?api_key=' . $api_key
. '&session_version=3&next=' . urlencode($interstitial_page)
. '&v=1.0&return_session=1&fbconnect=1'
. '&cancel_url=' . urlencode($interstitial_page);
echo "Welcome to the Old Auth flow";
echo "<p>";
echo("<a href='" . $url . "'>"
. "<img src='http://static.ak.facebook.com/images/"
. "devsite/facebook_login.gif'></a>");
C)的OAuth 2.0协议 http://developers.facebook.com/docs/authentication/ 当我使用这个再次使用下面的脚本:
https://www.facebook.com/dialog/oauth?
client_id=YOUR_APP_ID&redirect_uri=YOUR_URL
我曾尝试和失败,使用它来捕获我的新facebook用户的用户信息并将其存储到MySQL数据库,然后将这个经过身份验证的Facebook访问与'正常'网络访问用户会话集成,因为它已关联会话vari用于用户体验的ables。
任何帮助将不胜感激,即时通讯挣扎。
感谢迈克尔
我得到了一个空白屏幕上fbReg.php
感谢您的回答。我正在使用扩展插件进行社交插件。一个简单的登录按钮,注册和身份验证。我的网站已经这样做了,但我想通过Facebook身份验证添加Facebook新用户注册和常规用户访问。我在facebook dev网站或更广泛的网站上看到的任何内容都似乎给了我一个清晰的想法,即我需要在Facebook访问我现有的PHP文件时开始构建。 –
https://developers.facebook.com/docs/reference/plugins/login/登录就在那里,认证将被这个插件自动使用。您可以使用i-frame进行注册,因为没有API来注册新用户。这iframe可以去注册所在的主页 – nmagerko
谢谢你的建议,但我不认为你完全理解我的要求。让我解释。我希望之前从未使用过我的网络应用程序的Facebook用户能够注册我的MYSQL数据库,并获得'正常'用户的所有属性,包括'网站'会话而不是Facebook会话。所有新的OAuth 2.0插件登录/注册/身份验证都很容易设置,但很难集成到我现有的网站中,因为我想获取用户信息并将其保存到我的MYSQL用户数据库并为用户创建会话cookie变量所述用户信息。遗留的东西现在不工作。 –