Я предполагаю, что вы следуете серверной процедуре аутентификации . Но поскольку вы используете приложения на 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-адрес аутентификации.