php oauth api,PHP实现人人OAuth登录和API调用
require_once "HttpClient.class.php";
$APIKey = 'dd3ffbf2bd894ca9819f5dbc82c2f39c';
$SecretKey = 'f6d6d1308e314737ac955ba24a5aecc0';
$scope ='publish_feed,photo_upload';
// 生成API签名sig,sig人人API的一个参数
function gensig($params,$secret_key){
ksort($params);
reset($params);
$str = "";
foreach($params as $key=>$value){
$str .= "$key=$value";
}
return md5($str.$secret_key);;
}
// 页面状态设置,用于页面路由
// 默认是‘1’
// 获得request token (code) 后是 ‘2’
// 获得access token 后是 ‘magic’ 的值
$state = '1';
if(isset($_REQUEST['code'])){
if(empty($_SESSION['atoken']))
$state = '2';
}
if(isset($_REQUEST['magic'])){
$state = $_REQUEST['magic'];
}
// 根据state生成响应的页面
switch($state){
case '1': // 给出进入“登录验证和应用许可”页面的连接
$_SESSION['atoken'] = '';
"&response_type=code&scope=$scope&redirect_uri=$redirecturi";
echo "使用人人帐号登录
";
break;
case '2': // 获取 access token,给出api调用的连接
// 获取 request token,即code
$code = $_REQUEST['code'];
// 发起获取 access token请求
"&grant_type=authorization_code&client_secret=$SecretKey&redirect_uri=$redirecturi";
$json = HttpClient::quickGet($url);
// 解析返回 json
$jsond = json_decode($json);
$access_token = $jsond->access_token;
// 生成页面
if(!empty($access_token)){
$_SESSION['atoken'] = $access_token;
$url = $redirecturi."?magic=3";
echo "access token: $access_token
";
echo "调用API: users.getInfo";
}else{
echo "Wrong!
";
}
break;
case '3': // 调用 api user.getInfo,显示用户的姓名、uid和头像
// 发起API调用请求
$access_token = $_SESSION['atoken'];
$params = array("method"=>"users.getInfo","v"=>"1.0",
"access_token"=>$access_token,"format"=>"json");
$params['sig'] = gensig($params,$SecretKey);
$json = HttpClient::quickPost($url,$params);
// 解析返回json
$jsond = json_decode($json);
$uid = $jsond['0']->uid;
$tinyurl = $jsond['0']->tinyurl;
$name = $jsond['0']->name;
// 生成页面
echo "你好$name, 你的UID是$uid
";
echo "";
break;
default:
break;
}
?>
php oauth api,PHP实现人人OAuth登录和API调用相关推荐
- 谷歌账号登录Google API Oauth 2.0简单申请和使用教程
在点击编辑,修改回调URL 编辑完后可以参照google开发文档开发 https://developers.google.com/accounts/docs/OAuth2?hl=zh-CN 然后按照需 ...
- 基于 Oauth 2.0 的第三方账号登录实现
基于 Oauth 2.0 的第三方账号登录实现 Oauth 2.0 原理与授权流程 1.刚开始的第三方应用接入其他账号登录过程: 存在问题: 1.用户账号.密码信息透露给了第三方应用,导致安全问题 ...
- OAuth模块管理客户端的用户登录鉴权功能,允许应用访问第三方平台的资源
OAuth接口支持开发者调用当前环境中安装的三方客户端App(如微信.微博等)的授权登录页面进行鉴权操作. 若终端安装了对应的客户端App,则调用客户端的授权登录页面,否则调用WAP页面进行授权登录. ...
- OAUTH之 钉钉第三方授权登录
文章目录 OAUTH之钉钉第三方授权登录 前期用到的工具 获取access_token 请求地址 请求方法 响应 扫码 / 使用账号密码 -- 获取 临时 code 参数重要说明 直接访问 扫码登录 ...
- 部分主流sns平台的账号登录及api操作
新浪微博.腾讯微博.QQ.人人网.开心网.网易微博.豆瓣.百度.Google.微软.Instagram.Facebook.360.GitHub等平台的账号登录及api操作,使用oauth 2.0 官方 ...
- php使用qq登录api接口,QQ的账号登录及PHP api操作
QQ的账号登录及api操作,使用oauth 2.0官方提供的sdk都太过庞大,这是我自己简化的,提供简单的账号登录.获取个人信息.发布分享等功能,如果需要其他功能可以根据官方的api文档自行添加[文件 ...
- php使用QQ登录API,QQ的账号登录及api操作
QQ的账号登录及api操作,使用oauth 2.0 官方提供的sdk都太过庞大,这是我自己简化的,提供简单的账号登录.获取个人信息.发布分享等功能,如果需要其他功能可以根据官方的api文档自行添加 q ...
- php采集喜马拉雅,接入喜马拉雅数据 JSSDK API demo WEB版 标准登录 、免登陆
1.引入jssdk config, XMLY, XMplayer 喜马拉雅sdk封装好的 2.初始化(授权登录.免登陆) config({ app_key: '2e*****1', // 必传,官方提 ...
- QQ互联聚合登录中转API程序源码
介绍: QQ互联彩虹聚合登录中转API是一个快速登录界面,可以传输QQ,微信,支付宝,微博,百度等平台. 有多个应用程序管理,域名限制,帐户记录,登录记录. 彩虹聚合登录中转API登录传输API用于 ...
最新文章
- 郑冠杰:KDD Cup城市大脑赛题方法总结!
- 关于mybatis里面的Executor--转载
- 家用电脑配置_家用电脑无需太高配置,不要听电脑店瞎忽悠,2500元机子够用了!...
- 使用json-lib进行Java和JSON之间的转换
- Socket相关操作超时
- (Portal 开发读书笔记)PortletFileUpload
- 2008服务器维护,Windows 2008 R2 服务器维护
- Hadoop(五)HBase基础
- ufs3.0和12G内存哪个对流畅运行影响大?
- 《Cisco防火墙》一8.7 通过NAT规则定义连接限制
- 哪种语言更适合做自动化测试?
- Miccai2019 oral简单总结
- Tomcat配置文件server.xml(转)
- 设计模式网上资料整合理解——行为型模式(一)
- Navicat Premiumx64 使用注册机激活
- HAV-down1.1vs 大黄峰资源搜索 绿色特别版
- 联通校园网避免检测随身wifi方法
- R语言基础作图之点图
- webdriver和火狐浏览器历史版本下载
- 数据库的学习MySQL