第一步:引导用户打开如下链接 (详细介绍见OAuth2.0)

$url = urlencode('http://xxx.com/xxx');

$newurl = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx9c807c944920c501&redirect_uri=$url&response_type=code&scope=snsapi_base&state=123#wechat_redirect";

注意这里需要去配置redirect_uri 回调URL的授权域名

如果用户同意授权,页面将跳转至 redirect_uri/?code=CODE&state=STATE。若用户禁止授权,则重定向后不会带上code参数,仅会带上state参数redirect_uri?state=STATE

点击修改

第二步:封装拉取用户信息类

public function Oauth($code='',$mode=0){

$appid = $this->AppId ; //公共账号 appid

$secret = $this->AppSecret ; //公众账号AppSecret

if($code=='') $code = $_REQUEST['code'] ; //接收参数

if(!$code) return false ;

$cul = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid='.$appid.'&secret='.$secret.'&code='.$code.'&grant_type=authorization_code' ;

$cx = file_get_contents($cul) ;

$bx = json_decode($cx,true) ;

if($bx['errcode']){

//第一步 根据code获取refresh_token

$this->restat = 0 ;

$this->errmsg = $bx ; return ;

}

$rtoken = $bx['refresh_token'] ;

$rurl = 'https://api.weixin.qq.com/sns/oauth2/refresh_token?appid='.$appid.'&grant_type=refresh_token&refresh_token='.$rtoken ;

$rr = file_get_contents($rurl) ;

$rr = json_decode($rr,true) ;

if($rr['errcode']){

//第二步 根据refresh_token获取的access_token和openid

$this->restat = 0 ;

$this->errmsg = $bx ; return ;

}

$acct = $rr['access_token'] ;

//file_put_contents('abc.txt', $acct);

$this->auth_access_token = $acct ; //存放认证的token

$openid = $rr['openid'] ;

if($mode == 0 ) return ;

//第三步拉取信息

$purl = "https://api.weixin.qq.com/sns/userinfo?access_token=$acct&openid=$openid&lang=zh_CN" ;

$xv = file_get_contents($purl) ;

//file_put_contents('xv.txt', $xv);

/*$xv返回数据格式

{"openid":"XXX","nickname":"Mini_Ren","sex":1,"language":"zh_CN","city":"郑州","province":"河南","country":"中国","headimgurl":"","privilege":[]}

*/

$xv = json_decode($xv,true) ;

if($xv['errcode']){

$this->restat = 0 ;

$this->errmsg = $bx ; return ;

}

$this->res = $xv ;

return $xv ; //带有用户信息数组

}

PS:微信Oauth认证类下载 Oauth认证下载

微信 oauth2.0 php,微信公众平台OAuth2.0 认证相关推荐

  1. 微信公众平台OAuth2.0授权

    2019独角兽企业重金招聘Python工程师标准>>> 微信公众平台OAuth2.0授权详细步骤如下: 1. 用户关注微信公众账号. 2. 微信公众账号提供用户请求授权页面URL. ...

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

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

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

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

  4. weiphp mysql5.1_weiphp微信公众平台 v4.0 beta

    weiphp微信公众平台 v4.0 beta更新日志 1.更加人性化的后台操作 2.更多公众号接口的实现 3.更加简单而快捷的微信二次开发 weiphp微信公众平台简介 weiphp是一个开源,高效, ...

  5. 微信公众平台注册与认证图文教程分享

    微信公众平台教程全集 1.    微信公众平台注册与认证图文教程分享 2.    微信公众平台消息管理与群发图文教程 3.    微信公众平台素材编辑与自动回复图文教程 4.    微信公众平台开发模 ...

  6. 记录:使用DJANGO从0开始搭建微信公众平台(0)

    开发之前需要准备的内容 1.一个服务器 2.申请微信公众平台. 为服务器配置MYSQL+DJANGO2.X 1.一个服务器 进行了各方面的对比后,我选择了稳定和相对熟悉的阿里云服务器Elastic C ...

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

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

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

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

  9. 微信公众平台消息管理与群发图文教程

    微信公众平台教程全集 1.    微信公众平台注册与认证图文教程分享 2.    微信公众平台消息管理与群发图文教程 3.    微信公众平台素材编辑与自动回复图文教程 4.    微信公众平台开发模 ...

最新文章

  1. 2021年春季学期-信号与系统-第八次作业参考答案-第一小题
  2. navicate破解失败后删除注册表
  3. 3. JavaScript 数据类型
  4. PHP如何处理emoji表情存入utf8的数据库
  5. shiro---注解
  6. suma在c语言中表示什么变量,C语言题
  7. 论文笔记_CV_AD_3D Reconstruction using a Sparse Laser Scanner and a Single Camera for Outdoor Autonomous
  8. QQ正式推出“超级QQ秀”布局元宇宙
  9. Arduino 结构语法详解(含示例)二
  10. Python利用hadoop Streaming编写的Map-Reduce程序命令运行和本地调试运行
  11. 【软件测试技术】初识软件、软件测试
  12. Navicat常用快捷键汇总
  13. 最近瞎忙,比较懒撒,所以要收收心,该学习的学习。
  14. 大幅面遥感影像多尺度分割与尺度转换-初探
  15. 中国SCR脱硝催化剂行业竞争现状分析与未来需求预测报告2022-2028年
  16. 红米k30 允许调用gpu调试层_记一次APP的so层算法逆向(六)
  17. V4L2+QT视频优化策略
  18. matlab 模拟交易,股票量化投资策略模拟交易系统 [2017.03.26 更新]
  19. e66java存档,1000d
  20. flutter学习笔记-MVVM模式学习解决报错

热门文章

  1. 【2018年12月05日】滚动市盈率PE最低排名
  2. 基于Python实现的HTTP代理服务器设计
  3. (日常)Dell R740 XD 服务器安装GPU显卡记录
  4. 对比不同主流存储格式(csv, feather, jay, h5, parquet, pickle)的读取效率
  5. 关于部署OOS时出现的证书问题解决
  6. element表格默认勾选
  7. idea 如何不依赖maven导入本地依赖 jar
  8. 【已解决】TF_REPEATED_DATA ignoring data with redundant timestamp for frame
  9. 使用java发送qq邮件注意问题
  10. [高通SDM450][Android9.0]禁止电话、短信呼入