我即将开始一个新项目,构建一个具有许多不同功能的Web UI。然而,部分功能包括更新和访问某些社交媒体网站的能力 - 主要是Facebook和Twitter。
我希望用户登录系统,然后还能够管理多个FB / Twitter帐户,以便他们可以从一个地方与这些帐户进行交互,而无需在每次进行操作时进行身份验证。出于安全考虑,我显然不想存储密码,但我不确定如何处理这个密码。
我知道这是可能的 - 有没有人有任何指示如何解决这个问题?
仅供参考 - 我正在使用PHP,Javascript / Jquery进行编程。提前谢谢!
答案 0 :(得分:1)
这是Facebook的一部分。一个好的,简单的方法是使用Facebook PHP SDK(see on github)。所以你会有类似的东西:
require "facebook.php";
$facebook = new Facebook(array(
'appId' => YOUR_APP_ID,
'secret' => YOUR_APP_SECRET,
));
$user = $facebook->getUser();
如果用户已登录,则$user
是他的Facebook ID。然后,您必须通过进行API调用来检查您是否拥有有效的访问令牌:
如果它没有引发任何异常,那么您有一个有效的访问令牌
如果是,则必须重新验证用户。
你走了:
if ($user) {
try {
$facebook->api('/me');
} catch (FacebookApiException $e) {
$user = null;
}
}
然后,您需要显示登录或注销链接:
<?php if ($user): ?>
<a href="<?php echo $facebook->getLogoutUrl() ?>">Logout of Facebook</a>
<?php else: ?>
<a href="<?php echo $facebook->getLoginUrl() ?>">Login with Facebook</a>
<?php endif ?>
当用户登录并且您拥有有效的访问令牌时,您可以进行API调用以从Facebook获取数据:
$user_profile = $facebook->api('/me');
您可能需要查看记录良好的example page of the Facebook PHP SDK。
希望有所帮助。