приложение загружено в iframe на фейсбук - PullRequest
0 голосов
/ 20 октября 2011

У меня есть приложение, загруженное в iframe на Facebook. Но после разрешения и перенаправления на мой facekooksite с авторизации на Facebook я не могу получить «код» из строки запроса из моего кода (потому что загружен в iframe на Facebook) Как я смогу получить параметр "code"?

1 Ответ

1 голос
/ 20 октября 2011

Я предполагаю, что вы следуете серверной процедуре аутентификации . Но поскольку вы используете приложения на Facebook, этот процесс изменится, поскольку Facebook отправляет signed_request на ваш холст iframe:

<?php 

     $app_id = "YOUR_APP_ID";

     $canvas_page = "YOUR_CANVAS_PAGE_URL";

     $auth_url = "https://www.facebook.com/dialog/oauth?client_id=" 
            . $app_id . "&redirect_uri=" . urlencode($canvas_page);

     $signed_request = $_REQUEST["signed_request"];

     list($encoded_sig, $payload) = explode('.', $signed_request, 2); 

     $data = json_decode(base64_decode(strtr($payload, '-_', '+/')), true);

     if (empty($data["user_id"])) {
            echo("<script> top.location.href='" . $auth_url . "'</script>");
     } else {
            echo ("Welcome User: " . $data["user_id"]);
     } 
 ?>

Очевидно, что когда вы находитесь на Facebook, пользователь либо подключен к вашему приложению, либо нет, если он / она не подключен, вы перенаправляете их на URL-адрес аутентификации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...