use*_*387 1 javascript php facebook
我在Facebook页面选项卡中授权用户时遇到问题.我在PHP和Javascript中尝试了很多不同的方法,基本上没有任何运气.
如果有人可以为我解释这个并显示一些代码,那就太好了!我正在考虑在PHP中进行授权,然后继续获取一些用户数据宽度Javascript.我还需要能够让用户同意这些持续性.所以我需要帮助的是一个用于授权和权限的弹出窗口.
你怎么看?有没有更好的办法?帮助一些代码,因为我说是伟大的!
为了了解用户是否已对您的应用进行了身份验证,请解码signed_request并检查oauth_token是否已通过:
<?php
$secret='APP_SECRET';
$signed_request=($_REQUEST['signed_request']);
function parse_signed_request($signed_request, $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 signature
$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, '-_', '+/'));
}
$information=parse_signed_request($signed_request, $secret);
$oauth_token=$information["oauth_token"];
?>
Run Code Online (Sandbox Code Playgroud)
然后,如果$ oauth_token为空,则使用此脚本获取用户身份验证:
<?php
$app_id = "APP_ID";
$canvas_page = "YOUR_TAB_URL";
$auth_url = "http://www.facebook.com/dialog/oauth?client_id="
. $app_id . "&redirect_uri=" . urlencode($canvas_page) . "&scope=ENTER WANTED PERMISSIONS HERE";
$signed_request = $_REQUEST["signed_request"];
list($encoded_sig, $payload) = explode('.', $signed_request, 2);
$data = json_decode(base64_decode(strtr($payload, '-_', '+/')), true);
if (empty($oauth_token)) {echo("<script> top.location.href='" . $auth_url . "'</script>");}
?>
Run Code Online (Sandbox Code Playgroud)
在这些脚本中加入APP_SECRET,APP_ID,YOUR_TAB_URL和WANTED PERMISSIONS,欢呼声.
| 归档时间: |
|
| 查看次数: |
1068 次 |
| 最近记录: |