我创建的应用程序运行良好 - 但不是在移动设备上。 用户登录我的应用程序后,我陷入了循环,$ data [“user_id”]似乎是空的。这是我正在使用的代码片段:
$canvas_page = 'https://m.facebook.com/apps/'.$app_id;
$auth_url = "https://www.facebook.com/dialog/oauth?client_id="
. $app_id . "&redirect_uri=" . urlencode($canvas_page)
. "&scope=user_birthday";
$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>");
}
任何人都知道为什么?
答案 0 :(得分:0)
我不完全确定signed_request
是否已发布到移动应用,但未在接收它的应用类型中列出:
https://developers.facebook.com/docs/howtos/login/signed-request/
但是,根据该文档,您的if语句可能应该查找$_REQUEST
本身,而不是user_id
。