www.MyException.Cn  网友分享于:2014-01-19  浏览:2504次
微信OAuth2.0网页授权php示例
1、配置授权回调页面域名,如 www.aaa.com2、模拟公众号的第三方网页,fn_system.php
<?phpif(empty($_SESSION['user'])){header("Location:http://www.aaa.net/uc/fn_wx_login.php");
}else{print_r($_SESSION['user']);
}?>3、访问第三方网页时,如果检查session中不存在会话信息,则跳转至登陆页,fn_wx_login.php
<?php$appid = "公众号在微信的appid";$url = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid='.$appid.'&redirect_uri=http%3a%2f%2fwww.aaa.com%2fuc%2ffn_callback.php&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect';header("Location:".$url);?>4、在登陆页组装appid,回跳url等信息,然后跳转至微信的用户授权页。5、在微信的用户授权页,如果用户选择了“同意授权”,则微信重新回跳至第三方网页的回跳地址时,会附带上code参数。6、第三方网页的回跳url中,首先从请求中取得code,然后根据code进一步换取openid和access_token,然后就可以根据openid和access_token调用微信的相关接口查询用户信息了。
<?php$appid = "公众号在微信的appid";
$secret = "公众号在微信的app secret";
$code = $_GET["code"];
$get_token_url = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid='.$appid.'&secret='.$secret.'&code='.$code.'&grant_type=authorization_code';$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$get_token_url);
curl_setopt($ch,CURLOPT_HEADER,0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
$res = curl_exec($ch);
curl_close($ch);
$json_obj = json_decode($res,true);//根据openid和access_token查询用户信息
$access_token = $json_obj['access_token'];
$openid = $json_obj['openid'];
$get_user_info_url = 'https://api.weixin.qq.com/sns/userinfo?access_token='.$access_token.'&openid='.$openid.'&lang=zh_CN';$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$get_user_info_url);
curl_setopt($ch,CURLOPT_HEADER,0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
$res = curl_exec($ch);
curl_close($ch);//解析json
$user_obj = json_decode($res,true);
$_SESSION['user'] = $user_obj;
print_r($user_obj);?>

转载于:https://www.cnblogs.com/xujing6/p/6099196.html

微信OAuth2.0网页受权php相关推荐

  1. 微信OAuth2.0网页授权设置一个域名需多个域名使用的问题

    最近遇到一个问题,一个微信公众号,需要在多个域名上使用OAuth2.0网页授权,但微信OAuth2.0网页授权回调域名只能设置一个. 解决办法: 通过多一次的跳转,解决了微信限制回调域名只能设置一个的 ...

  2. 微信公众平台开发 OAuth2.0网页授权认证

    一.什么是OAuth2.0 官方网站:http://oauth.NET/   http://oauth.Net/2/ 权威定义:OAuth is An open protocol to allow s ...

  3. 微信开发之获取OAuth2.0网页授权认证和获取用户信息进行关联(转:http://playxinz.iteye.com/blog/2249634)

    最近有做了关于微信公众号和自己网站用户进行用户关联授权登录的一个功能,主要是用户关注该公众号,点击会员中心,则会弹出需要关联授权的网页授权:OAuth2.0网页授权,然后用户同意获取用户信息,进行用户 ...

  4. 微信授权demo php,PHP微信公众平台oauth2.0网页授权登录类的封装demo

    一.微信授权使用的是OAuth2.0授权的方式.主要有以下简略步骤: 第一步:用户同意授权,获取code 第二步:通过code换取网页授权access_token 第三步:拉取用户信息(需scope为 ...

  5. 微信公众平台oauth2.0 php,微信公众平台oauth2.0网页授权

    本篇文章你将学到:在自己做的微信网站里,利用oauth2.0网页授权接口获取用户的信息(openid,姓名,性别,地区,头像等).如大转盘等游戏记录哪个微信用户获得什么奖品.H5等小游戏需要把分数与对 ...

  6. 详解微信语音识别接口、OAuth2.0网页接口

    微信为已完成微信认证的服务号提供了多达10个高级接口,这些接口一方面极大的提升了服务号的运营.服务能力,另一方面也增加了服务号的运营者理解.应用接口的难度.笔者会在接下来的几篇文章中,为大家详细讲解每 ...

  7. 微信公众平台开发OAuth2.0网页授权(转)

    微信公众平台开发 OAuth2.0网页授权认证 网页授权获取用户基本信息  作者:方倍工作室 微信公众平台最近新推出微信认证,认证后可以获得高级接口权限,其中一个是OAuth2.0网页授权,很多朋友在 ...

  8. 如何获取微信浏览器访问需要OAuth2.0网页授权的页面资源

    目标:需要获取一些微信网页的前端资源,嘿嘿,你懂的. 方法: 方法一:用chrome模拟微信浏览器,这个需要OAuth2.0授权的网页就获取不了啦... 方法二:百度了说可以用PHP的代码模拟访问,测 ...

  9. NET仿微信Oauth2.0

    这个文章先说一说Oauth2.0的原理,再到应用场景,最后才是代码实现,这样才学会最终的思想,并在应用场景使用,所谓实践出真理. 1,Oauth2.0的原理 OAuth是一个关于授权(authoriz ...

  10. 微信 oauth2.0 php,微信公众平台OAuth2.0 认证

    第一步:引导用户打开如下链接 (详细介绍见OAuth2.0) $url = urlencode('http://xxx.com/xxx'); $newurl = "https://open. ...

最新文章

  1. vue获取“分享给朋友”按钮点击状态及自定义分享内容接口
  2. 将cocos2dx项目从Visual Studio 迁移到 xcode
  3. win10更新后程序路径盘符变成*星号解决方法
  4. linux c 关键字 _Noreturn 简介
  5. leetcode239. 滑动窗口最大值
  6. VS工程切换cuda版本
  7. LeetCode 1063. 有效子数组的数目(单调栈)
  8. 哥哥妹妹 - say forever
  9. 酷似美军作战模式的中台战略,究竟是怎么回事? | 大咖说中台
  10. blend 自定义控件
  11. Linux环境编程之文件I/O(二):文件的打开与关闭
  12. 关于Eclipse无法导入包的问题???
  13. 【剖析 | SOFARPC 框架】系列之 SOFARPC 注解支持剖析
  14. 关于Enterprise library logging中一个没搞明白的东西,希望有大大们进来帮忙释疑一下, THKS...
  15. MongoDB填充因子和更新优化
  16. 在ubuntu系统上安装指定版本的gfortran
  17. 折腾黑苹果把win10的引导给弄没了 花了几小时找回
  18. Latex 论文 简单常用命令例子记录
  19. 状态码502和504分析
  20. MATLAB中颜色模型介绍级各模型之间转换(RGB、HSV、NTSC、YCbCr、HSI)

热门文章

  1. 《强化学习周刊》第65期:Neurips2022强化学习论文推荐(5)、MIT:机器狗当守门员、具身智能与机器人研讨会...
  2. 【Base64是什么?】
  3. VS-code输入感叹号没有提示
  4. 《可汗学院: 统计学》学习笔记
  5. 利用Python进行数据分析(Ⅳ)
  6. nginx代理百度地图,实现内网展示百度地图
  7. 中文可以声明java类吗_JSP中可以声明基本类型和结构类型变量,但不能申明类,类必须放在JavaBean中。...
  8. mstar Android解锁,液晶电视维修之Mstar方案从强刷包提取引导的方法
  9. Unity 3D 入门小游戏 小球酷跑(上)
  10. 跳出舒适区发现更大的世界,来社科院杜兰金融管理硕士项目汲取能量挑战自我