首页 > 学院 > 开发设计 > 正文

login in with facebook demo

2019-11-08 19:40:05
字体:
来源:转载
供稿:网友
<?php/** * facebook登录 * by yingjie.zhao 2017-2-15 * 一定要注意如果使用curl的话要使用代理才可以,这里是XXNET的代理端口,如果使用其他VPN做测试的话也要使用VPN的端口 * 这里没有做curl,只是简单的获取到了accesstoken * 获取详细信息的话使用的接口自己找下的吧 * 使用的是这个 https://graph.facebook.com/v2.8/me 这个接口来获取用户信息 * // 代理服务器 调试时使用代理,上线时注释掉 * curl_setopt($ci, CURLOPT_PROXY, '127.0.0.1'); * curl_setopt($ci, CURLOPT_PROXYPORT, '8087'); */echo rand(10000,99999);exit;//初始化参数$client_id = "255851748199852";$client_secret= "5510cc06b2d0a4e7d8e72d501a54df9b";$redirect_uri = "http://XXX.com/user.php?act=oath_login&type=facebook";$redirect_uri = urlencode($redirect_uri);$response_type = "code";// 登录页面// facebook_login_zyj/index.php?act=loginif( isset($_REQUEST['act'])&& $_REQUEST['act']=='login'){ $url = "https://www.facebook.com/v2.8/dialog/oauth?client_id=".$client_id."&redirect_uri=".$redirect_uri."&response_type=".$response_type; header("Location: ".$url);}//用代码交换访问口令if( isset($_REQUEST['code'])&& !empty($_REQUEST['code'])){ $url = "https://graph.facebook.com/v2.8/oauth/access_token?client_id=".$client_id."&redirect_uri=".$redirect_uri."&client_secret=".$client_secret."&code=".$_REQUEST['code']; header("Location: ".$url); //{"access_token":"EAADosiCRDawBANGrftb6ru3YUR4dprFk40iISxvK2U8WceKN9SGpD3nYP1xZBJrHMr6QVvexrw9dgyF7J8kHILbU09nTWZCfSa8smRJxoYG6bfZBXhScpbcqlREqUPB8QNiFtncjXe9FHMgYe11rUMZBBF9zeWA0KSNOLFoLggZDZD","token_type":"bearer","expires_in":5125079}}function curlPost($url,$data) { $ch = curl_init($url); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch,CURLOPT_POSTFIELDS,http_build_query($data)); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);//payal说只有在沙盒模式才用加,可为何正式也用加这个参数 $reponse = curl_exec($ch); if(curl_errno($ch)>0){ //return false; var_dump( curl_errno($ch)); } curl_close($ch); return $reponse;}?>
上一篇:工厂方法模式

下一篇:LCD滚动显示

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表