我想知道,无论如何,静态FBML的标签是否可以在IFrame中使用: -
fb:userlink uid =“loggedinuser”
我的第二个问题是,我们可以通过Cokkies存储用户ID,而不是使用FBML,因为iframe facebook不允许我们访问用户数据。 所以使用Firebug我发现我们获得了用户ID。并存储在cookie中。 我希望用户被限制多次访问我的Iframe。所以通过获取用户ID 我想检查用户是否已注册。如果他已经注册。他不能再注册两次。
我正在尝试使用Cokkies,但由于缺乏对JAVASCRIPT的了解,我没有得到如何执行它。
答案 0 :(得分:0)
将以下代码放入iframe中,您将获得登录的用户ID,然后检查约束。
<?php
function parse_signed_request($signed_request , $secret ) {
$signed_request = $signed_request ? $signed_request : $_REQUEST['signed_request'];
$secret = $secret ? $secret : your_app_secret;
list($encoded_sig, $payload) = explode('.', $signed_request, 2);
// decode the data
$sig = base64_url_decode($encoded_sig);
$data = json_decode(base64_url_decode($payload), true);
if (strtoupper($data['algorithm']) !== 'HMAC-SHA256') {
error_log('Unknown algorithm. Expected HMAC-SHA256');
return null;
}
// check sig
$expected_sig = hash_hmac('sha256', $payload, $secret, $raw = true);
if ($sig !== $expected_sig) {
error_log('Bad Signed JSON signature!');
return null;
}
return $data;
}
function base64_url_decode($input) {
return base64_decode(strtr($input, '-_', '+/'));
}
$request=$_REQUEST['signed_request'];
$appsecret = 'your_app_secret_key';
$new = parse_signed_request($request , $appsecret );
echo $new['user_id'];