Статический FBML и FBML идентификатор пользователя и имя пользователя в IFrame - PullRequest
0 голосов
/ 15 марта 2011

Я хотел знать, будет ли этот тег Static FBML работать в IFrame в любом случае: -

fb: userlink uid = "loggedinuser"

И мой второйВопрос в том, можем ли мы получить идентификатор пользователя через Cokkies, который хранится, скорее всего, с использованием FBML, так как на сайте iframe facebook мы не можем получить доступ к ДАННЫМ пользователей.Итак, используя Firebug, я обнаружил, что мы получаем идентификатор пользователя.и хранится в cookie.Я хочу, чтобы пользователь был ограничен более чем одним доступом к моему Iframe.Поэтому, получив идентификатор пользователя, я хотел бы проверить, зарегистрирован пользователь или нет.и если бы он был зарегистрирован.Он не может зарегистрироваться дважды.

Я пытаюсь сделать это с помощью Cokkies, но из-за недостатка знаний о JAVASCRIPT я не понимаю, как его выполнить.

1 Ответ

0 голосов
/ 09 апреля 2011

Поместите следующий код в свой iframe, и вы получите идентификатор пользователя, вошедшего в систему, и проверьте его ограничение.

<?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'];
...