php实现微信登录详细教程,[文档教程]PHP实现微信开放平台扫码登录源码下载 - 技术编程 - 极思维...
1、首先到微信开放平台申请https://open.weixin.qq.com/ 获取到appid和APPSECRET,前台显示页面如下
html>
var obj = new WxLogin({
id: "login_container",
appid: "wxed782be999f86e0e",
scope: "snsapi_login",
redirect_uri: encodeURIComponent("http://" + window.location.host + "/login.php"),
state: Math.ceil(Math.random()*1000),
style: "black",
href: ""});
2、PHP处理代码页面
/*
require_once('weixin.class.php');
$weixin = new class_weixin();
*/
define('APPID', "wx19ba77624e083e08");
define('APPSECRET', "c1a56a5c4247dd44c320c9719c5ceb90");
class class_weixin
{
var $appid = APPID;
var $appsecret = APPSECRET;
//构造函数,获取Access Token
public function __construct($appid = NULL, $appsecret = NULL)
{
if($appid && $appsecret){
$this->appid = $appid;
$this->appsecret = $appsecret;
}
//扫码登录不需要该Access Token, 语义理解需要
//1. 本地写入
$res = file_get_contents('access_token.json');
$result = json_decode($res, true);
$this->expires_time = $result["expires_time"];
$this->access_token = $result["access_token"];
if (time() > ($this->expires_time + 3600)){
$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$this->appid."&secret=".$this->appsecret;
$res = $this->http_request($url);
$result = json_decode($res, true);
$this->access_token = $result["access_token"];
$this->expires_time = time();
file_put_contents('access_token.json', '{"access_token": "'.$this->access_token.'", "expires_time": '.$this->expires_time.'}');
}
}
/*
* PART1 网站应用
*/
/*
header("Content-type: text/html; charset=utf-8");
require_once('wxopen.class.php');
$weixin = new class_weixin();
if (!isset($_GET["code"])){
$redirect_url = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
$jumpurl = $weixin->qrconnect($redirect_url, "snsapi_login", "123");
Header("Location: $jumpurl");
}else{
$oauth2_info = $weixin->oauth2_access_token($_GET["code"]);
$userinfo = $weixin->oauth2_get_user_info($oauth2_info['access_token'], $oauth2_info['openid']);
var_dump($userinfo);
}
*/
//生成扫码登录的URL
public function qrconnect($redirect_url, $scope, $state = NULL)
{
$url = "https://open.weixin.qq.com/connect/qrconnect?appid=".$this->appid."&redirect_uri=".urlencode($redirect_url)."&response_type=code&scope=".$scope."&state=".$state."#wechat_redirect";
return $url;
}
//生成OAuth2的Access Token
public function oauth2_access_token($code)
{
$url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=".$this->appid."&secret=".$this->appsecret."&code=".$code."&grant_type=authorization_code";
$res = $this->http_request($url);
return json_decode($res, true);
}
//获取用户基本信息(OAuth2 授权的 Access Token 获取 未关注用户,Access Token为临时获取)
public function oauth2_get_user_info($access_token, $openid)
{
$url = "https://api.weixin.qq.com/sns/userinfo?access_token=".$access_token."&openid=".$openid."&lang=zh_CN";
$res = $this->http_request($url);
return json_decode($res, true);
}
演示下载地址:http://www.erdangjiade.com/php/1034.html
php实现微信登录详细教程,[文档教程]PHP实现微信开放平台扫码登录源码下载 - 技术编程 - 极思维...相关推荐
- python文档Word助手转换pdf目录页码获取统计等源码
在PyCharm中运行<Word助手>即可进入如图1所示的系统主界面.在该界面中,通过顶部的工具栏可以选择所要进行的操作. 具体的操作步骤如下: (1)实现Word转PDF.在Word助手 ...
- 最新ChatGPT GPT-4 NLU实战之文档问答类ChatPDF功能(附ipynb与python源码及视频)——开源DataWhale发布入门ChatGPT技术新手从0到1必备使用指南手册(五)
目录 前言 最新ChatGPT GPT-4 自然语言理解NLU实战之文档问答类ChatPDF功能 引言 ChatGPT 接口 Qdrant数据库Embedding存储 核心代码 测试 其它NLU应用及 ...
- python使用微信设置-微信 python 接口 -- itchat 文档
itchat 一. 安装 $ pip install itchat 特殊的字典使用方式 通过打印 itchat 的用户以及注册消息的参数, 可以发现这些值都是字典. 但实际上 itchat 精心构造了 ...
- atitit.微信支付的教程文档 attilax总结
atitit.微信支付的教程文档 attilax总结 1. 支付流程概览 1 2. 设置支付起始目录 host/app/paydir/ 1 3. 设置oauth验证域名 1 4. 测试目录 可以使 ...
- 活动现场大屏幕互动系统(微信墙)修复版完美PHP源码,带完整素材包和详细使用文档
源码收集于网络,觉得不错,2022-11-18亲测了源码,顺手修复了原来的几处bug.网上的这个源码有个重大bug,就是后台系统配音没法上传音乐文件.我理了一下代码,修复了这个问题,现在后台可以分别给 ...
- 白鹭引擎开发微信小游戏进阶教程文档
注意: • 因为小游戏特殊机制,涉及到的小游戏接口主要逻辑都需要写在小游戏逻辑代码内,但是可以通过 Egret 代码来调用 • 后续版本 Egret 将会提供调用小游戏接口模板,届时大家可 ...
- 阿里云建站教程文档汇总(详细指南)
阿里云建站零基础入门 选择服务器(推荐阿里云ECS) 购买和备案域名(时间比较长,建议购买完服务器就做这一步) 部署网站 解析域名(将域名和自身网站挂钩) 本篇汇总教程为使用阿里云建站的新用户介绍了搭 ...
- 【干货】求之不得的 Java 文档教程大汇总!
已收录至免费编程资源大全:https://github.com/liyupi/free-programming-resources 大家好,今天分享几个 GitHub 上非常实用的 Java 文档教程 ...
- 微信小程序_文档_01_入门
小程序API文档地址: https://developers.weixin.qq.com/miniprogram/dev/ 微信小程序 小程序是一种新的开放能力,开发者可以快速地开发一个小程序.小程序 ...
- 【转】(五)unity4.6Ugui中文教程文档-------概要-UGUI Interaction Components
原创至上,移步请戳:(五)unity4.6Ugui中文教程文档-------概要-UGUI Interaction Components 4.Interaction Components 本节涵盖了处 ...
最新文章
- 哈夫曼树实现压缩文件
- java外观设计修改_Java设计模式之外观模式和装饰器模式的设计(精选)
- 问题 D: 回文数(n进制加法,模拟)
- mysql相关文献及翻译_MySQL数据库管理外文翻译文献中英文.doc
- 【C++grammar】名字隐藏与重定义
- 基于STC89C52的韦根数据接收
- css默认的font-size是什么意思,常用的css属性:font-size等
- 20155207王雪纯 《Java程序设计》实验一报告
- 电脑老是自动重启怎么回事??
- servlet+jsp面试题
- IDE、SATA、SCSI、SAS、iSCSI
- 打游戏经常有人喷,刷个B站还是有?Python实现在网站上自动评论!键盘侠都喷不赢你!
- 人体动作捕捉与SMPL模型 (mocap and SMPL model)
- 论文解读:Missing data imputation with adversarially-trained graph convolutional network
- ios 页面即将消失_20个即将推出的页面介绍及如何正确处理它们
- 数位dp【模板 + 老年康复】
- Java期末考试程序设计—井字棋
- android画图之贝塞尔曲线讲解
- 数据结构溢彩加强版——(二)算法篇
- ansys添加力矩_ANSYS转矩施加三种方法
热门文章
- ubuntu硬盘安装及启动,menu.lst
- 很值得学习的java 画图板源码
- 流行的php面试题及答案
- ZOJ Problem Set - 1292 Integer Inquiry
- 【转】javascript 只允许输入数字总结
- 2020-11-01
- Atitit springboot 全局异常处理 1.1.@ControllerAdvice 不起作用 public class ExceptionHandle { @ExceptionHand
- Atitit 编程语言语言规范总结 目录 1. 语言规范	3 2. Types	3 2.1.1. Primitive types	3 2.1.2. Compound types	4 3. State
- Atitit fsm有限状态机概念与最佳实践 目录 1. 概念组成与原理成分	1 1.1. 1、状态机的要素 4个要素,即现态、条件、动作、次态	2 1.2. 状态表	2 2. 性状	2 2.1.
- Atitit ocr识别原理 与概论 attilax总结