我正在使用Facebook登录API登录我的网站。
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({
appId : 'My_app_id',
status : true,
cookie : true,
xfbml : true,
oauth : true,
});
};
(function(d){
var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
d.getElementsByTagName('head')[0].appendChild(js);
}(document));
</script>
<div class="fb-login-button" data-scope="email,user_birthday">
Login with Facebook
</div>
我正在使用此代码进行Facebook身份验证。但是,在用户允许如何从设置cookie获取用户信息之后,如何知道用户允许或不允许权限。我的网站基于php。
我想要一种机制,在授予权限后知道用户是否经过身份验证,然后才能访问他的信息。
答案 0 :(得分:0)
这是我写的一个简单的PHP函数来登录:
function login($app_id, $post_login_url){
$dialog_url= "http://www.facebook.com/dialog/oauth?"
. "client_id=" . $app_id
. "&redirect_uri=" . urlencode($post_login_url)
. "&scope=publish_stream,user_photos";
echo("<script>top.location.href='" . $dialog_url .
"'</script>");
}
这是一个获取访问令牌的简单函数,代码在URL中返回:
function getAccessToken($app_id, $post_login_url, $app_secret, $code){
$token_url= "https://graph.facebook.com/oauth/"
. "access_token?"
. "client_id=" . $app_id
. "&redirect_uri=" . urlencode( $post_login_url)
. "&client_secret=" . $app_secret
. "&code=" . $code;
$response = file_get_contents($token_url);
$params = null;
parse_str($response, $params);
return($params['access_token']);
}
我希望它有所帮助...