php版微信公众平台之微信网页登陆授权示例


Posted in PHP onSeptember 23, 2016

本文实例讲述了php版微信公众平台之微信网页登陆授权。分享给大家供大家参考,具体如下:

微信公众平台实现微信网页登陆授权开发其实是非常的简单了,因为官方的参考程序了,下面小编就看了一站长根据官方参考做的一个网页登陆授权例子,大家可看看.

文件1:index.php

//换成自己的接口信息
$appid = 'XXXXX';
header('location:https://open.weixin.qq.com/connect/oauth2/authorize?appid='.$appid.'&redirect_uri=127.0.0.1/oauth.php&response_type=code&scope=snsapi_userinfo&state=123&connect_redirect=1#wechat_redirect');

参数 是否必须 说明
appid 公众号的唯一标识
redirect_uri 授权后重定向的回调链接地址,请使用urlencode对链接进行处理
response_type 返回类型,请填写code
scope 应用授权作用域,snsapi_base(不弹出授权页面,直接跳转,只能获取用户openid),snsapi_userinfo(弹出授权页面,可通过openid拿到昵称、性别、所在地。并且,即使在未关注的情况下,只要用户授权,也能获取其信息)
state 重定向后会带上state参数,开发者可以填写a-zA-Z0-9的参数值
#wechat_redirect 无论直接打开还是做页面302重定向时候,必须带此参数

文件二:oauth.php,代码如下:

<?php
$code = $_GET['code'];
$state = $_GET['state'];
//换成自己的接口信息
$appid = 'XXXXX';
$appsecret = 'XXXXX';
if (emptyempty($code)) $this->error('授权失败');
$token_url = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid='.$appid.'&secret='.$appsecret.'&code='.$code.'&grant_type=authorization_code';
$token = json_decode(file_get_contents($token_url));
if (isset($token->errcode)) {
 echo '<h1>错误:</h1>'.$token->errcode;
 echo '<br/><h2>错误信息:</h2>'.$token->errmsg;
 exit;
}
$access_token_url = 'https://api.weixin.qq.com/sns/oauth2/refresh_token?appid='.$appid.'&grant_type=refresh_token&refresh_token='.$token->refresh_token;
//转成对象
$access_token = json_decode(file_get_contents($access_token_url));
if (isset($access_token->errcode)) {
 echo '<h1>错误:</h1>'.$access_token->errcode;
 echo '<br/><h2>错误信息:</h2>'.$access_token->errmsg;
 exit;
}
$user_info_url = 'https://api.weixin.qq.com/sns/userinfo?access_token='.$access_token->access_token.'&openid='.$access_token->openid.'&lang=zh_CN'; //开源软件:phpfensi.com
//转成对象
$user_info = json_decode(file_get_contents($user_info_url));
if (isset($user_info->errcode)) {
 echo '<h1>错误:</h1>'.$user_info->errcode;
 echo '<br/><h2>错误信息:</h2>'.$user_info->errmsg;
 exit;
}
//打印用户信息
echo '<pre>';
print_r($user_info);
echo '</pre>';
?>

参数 描述
openid 用户的唯一标识
nickname 用户昵称
sex 用户的性别,值为1时是男性,值为2时是女性,值为0时是未知
province 用户个人资料填写的省份
city 普通用户个人资料填写的城市
country 国家,如中国为CN
headimgurl 用户头像,最后一个数值代表正方形头像大小(有0、46、64、96、132数值可选,0代表640*640正方形头像),用户没有头像时该项为空.
privilege 用户特权信息,json数组,如微信沃卡用户为(chinaunicom)
unionid 只有在用户将公众号绑定到微信开放平台帐号后,才会出现该字段。详见:获取用户个人信息(UnionID机制)

到此网页登陆授权开发功能就作完了,如果想要获取用户基本信息我们需要看另一个例子,在官方有说明大家可自行搜索哦.

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
木翼下载系统中说明的PHP安全配置方法
Jun 16 PHP
Views rows style模板重写代码
May 16 PHP
php中全局变量global的使用演示代码
May 18 PHP
php安装swoole扩展的方法
Mar 19 PHP
WordPress后台中实现图片上传功能的实例讲解
Jan 11 PHP
Laravel框架实现redis集群的方法分析
Sep 14 PHP
Linux下 php7安装redis的方法
Nov 01 PHP
ThinkPHP3.2.3框架邮件发送功能图文实例详解
Apr 23 PHP
php 使用mpdf实现指定字段配置字体样式的方法
Jul 29 PHP
PHP call_user_func和call_user_func_array函数的简单理解与应用分析
Nov 25 PHP
PHP 扩展Memcached命令用法实例总结
Jun 04 PHP
PHP预定义接口――Iterator用法示例
Jun 05 PHP
中高级PHP程序员应该掌握哪些技术?
Sep 23 #PHP
php利用递归实现删除文件目录的方法
Sep 23 #PHP
php版微信公众平台开发之验证步骤实例详解
Sep 23 #PHP
php分页原理 分页代码 分页类制作教程
Sep 23 #PHP
php使用glob函数遍历文件和目录详解
Sep 23 #PHP
php版微信发红包接口用法示例
Sep 23 #PHP
基于thinkPHP实现的微信自定义分享功能示例
Sep 23 #PHP
You might like
php,不用COM,生成excel文件
2006/10/09 PHP
PHP中PDO基础教程 入门级
2011/09/04 PHP
PHP中array_keys和array_unique函数源码的分析
2016/02/26 PHP
php设计模式之模板模式实例分析【星际争霸游戏案例】
2020/03/24 PHP
网页中的图片的处理方法与代码
2009/11/26 Javascript
关于在IE下的一个安全BUG --可用于跟踪用户的系统鼠标位置
2013/04/17 Javascript
NodeJS Express框架中处理404页面一个方式
2014/05/28 NodeJs
Javascript动态创建div的方法
2015/02/09 Javascript
JS实现合并两个数组并去除重复项只留一个的方法
2015/12/17 Javascript
酷炫jQuery全屏3D焦点图动画效果
2016/03/22 Javascript
DOM操作和jQuery实现选项移动操作的简单实例
2016/06/07 Javascript
js获取腾讯视频ID的方法
2016/10/03 Javascript
新闻上下滚动jquery 超简洁(必看篇)
2017/01/21 Javascript
javascript作用域链与执行环境详解
2017/03/25 Javascript
使用vue-cli创建项目的图文教程(新手入门篇)
2018/05/02 Javascript
微信小程序常见页面跳转操作简单示例
2019/05/01 Javascript
JS this关键字在ajax中使用出现问题解决方案
2020/07/17 Javascript
vue组件讲解(is属性的用法)模板标签替换操作
2020/09/04 Javascript
Python中如何优雅的合并两个字典(dict)方法示例
2017/08/09 Python
PyQt5实现QLineEdit添加clicked信号的方法
2019/06/25 Python
PYQT5开启多个线程和窗口,多线程与多窗口的交互实例
2019/12/13 Python
pandas处理csv文件的方法步骤
2020/10/16 Python
Python爬取酷狗MP3音频的步骤
2021/02/26 Python
数控专业大学生的自我鉴定
2013/11/13 职场文书
护理工作感言
2014/01/16 职场文书
工程学毕业生自荐信
2014/06/14 职场文书
年度安全生产目标责任书
2014/07/23 职场文书
酒店管理专业毕业生自我鉴定
2014/09/29 职场文书
小学教师工作总结2015
2015/04/07 职场文书
英语演讲开场白
2015/05/29 职场文书
写给同事的离职感言
2015/08/04 职场文书
2020优秀员工演讲稿(三篇)
2019/10/17 职场文书
解决mysql模糊查询索引失效问题的几种方法
2021/06/18 MySQL
Html5同时支持多端sdk的小技巧
2021/11/17 HTML / CSS
nginx从安装到配置详细说明(安装,安全配置,防盗链,动静分离,配置 HTTPS,性能优化)
2022/02/12 Servers
MongoDB使用场景总结
2022/02/24 MongoDB