我为我的最新应用程序创建了一个基于 javascript 的登录,一切正常。问题是我想将所有用户存储在数据库中,并且不知道如何以 facebook 方式执行此操作。我有很好的 php 和 sql 知识,所以这不是问题。我只需要一些关于如何安全存储数据的建议。
我想要的程序是这样的:
用户使用 javascript 弹出窗口登录 -> 检查 facebook id 是否存在于 mysql 表中。如果没有,保存附加信息 -> 用户已登录
最佳答案
<script type="text/javascript">
window.fbAsyncInit = function() {
FB.init({
appId: 'YOUR_APP_ID',
status: true,
cookie: true,
oauth: true
});
FB.Event.subscribe('auth.login', function(response) {
// response returns a JSON object containing data relevant to the logged in user.
userID = response.authResponse.userID;
// using jQuery to perform AJAX POST.
$.post('form_handler.php', {userID: userID}, function() {
// POST callback
});
});
}
</script>
您的 form_handler.php 文件需要设置为从 $_POST 获取 userID 变量。从那里您可以使用 SQL 检查用户是否已经存在等。
如果您担心 userID JavaScript 变量很容易被篡改,我建议使用 form_handler.php 文件中的 PHP SDK 来获取当前的 uid。在此处的 form_handler.php 内部(以最基本的形式)是您需要做的:
<?php
require('facebook.php');
$facebook = new Facebook(array(
'appId' => YOUR_APP_ID,
'secret' => YOUR_APP_SECRET
));
// get the current logged in userID
$user = $facebook->getUser();
// SQL queries (check if user exists, insert, etc.)
?>
以上代码假定您已将您的应用程序迁移到 oAuth 2.0。
关于php - 如何使用 javascript 登录但使用 php/mysql 存储用户信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7435371/