php 微信网页授权流程

PHP实现微信网页登陆授权开发 这篇文章主要介绍了关于PHP实现微信网页登陆授权开发,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 我的官方群点击此处。 微信开放平台和公众平台的区别 1.公众平台面向的时普通的用户,比如自媒体和媒体,企业官方微信公众账号运营人员使用,当然你所在的团队或者公司有实力去开发一些内容,也可以调用公众平台里面的接口,比如自定义菜单,自动回复,查询功能。目前大多数微信通过认证之后,都... 阅读详情

一、 配置网页授权域名

开发 - 接口权限 - 网页服务 - 网页帐号 - 网页授权获取用户基本信息”的配置选项中,修改授权回调域名。

二、 网页授权流程

四步:

1、获取code 

2、通过code换取网页授权access_token(开发者可以刷新网页授权access_token,避免过期 )

3、通过网页授权access_token和openid获取用户基本信息 

1、获取code 

https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect 

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

eg:

ini_set("display_errors",'Off');
error_reporting(0);
define("APPID","****c");
define("APPSECRET","9****b9");

$backurl=$_GET['backurl'];
$scope=isset($_GET['scope'])?$_GET['scope']:'snsapi_base';//snsapi_base无提示,snsapi_userinfo有提示
if($scope=="snsapi_base")
{
	$redirect_uri="http://b***uth_back_snsapi_base.php?backurl=".$backurl;
}else
{
	$redirect_uri="http://b****oauth_back_snsapi_userinfo.php?backurl=".$backurl;
}
$url="https://open.weixin.qq.com/connect/oauth2/authorize?appid=".APPID."&redirect_uri={$redirect_uri}&response_type=code&scope={$scope}&state=123#wechat_redirect";
header("Location: {$url}");

scope的区别说明

1、以snsapi_base为scope发起的网页授权,静默授权并自动跳转到回调页的。不能获取用户信息,只能获取进入页面的用户的openid。

2、以snsapi_userinfo的方式发起网页授权,等待用户确认授权才可获取用户信息。如果要拉取用户详细信息的接口(头像,性别,城市等),必须以此种方式发起页面授权。

2:通过code换取网页授权access_token(五分钟刷新)

https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code

参数

是否必须

说明

appid是公众号的唯一标识
secret是公众号的appsecret
code是填写第一步获取的code参数
grant_type是填写为authorization_code   

eg:

$code=$_GET['code'];//授权后微信出入的code参数
$url="https://api.weixin.qq.com/sns/oauth2/access_token?appid=".APPID."&secret=".APPSECRET."&code={$code}&grant_type=authorization_code";
$token_info=json_decode(curl($url),true);
$access_token=$token_info['access_token'];
$openid=$token_info['openid'];
$url="https://api.weixin.qq.com/sns/userinfo?access_token={$access_token}&openid={$openid}&lang=zh_CN";
$uinfo=json_decode(curl($url),true);

返回说明

正确时返回的JSON数据包如下:

{ "access_token":"ACCESS_TOKEN",    

 "expires_in":7200,    

 "refresh_token":"REFRESH_TOKEN",    

 "openid":"OPENID",    

 "scope":"SCOPE" } 

参数

描述

access_token网页授权接口调用凭证,注意:此access_token与基础支持的access_token不同
expires_inaccess_token接口调用凭证超时时间,单位(秒)
refresh_token用户刷新access_token
openid用户唯一标识,请注意,在未关注公众号时,用户访问公众号的网页,也会产生一个用户和公众号唯一的OpenID
scope用户授权的作用域,使用逗号(,)分隔

 

access_token失效刷新

获取refresh_token后,请求以下链接获取access_token:  

https://api.weixin.qq.com/sns/oauth2/refresh_token?appid=APPID&grant_type=refresh_token&refresh_token=REFRESH_TOKEN

参数

是否必须

说明

appid是公众号的唯一标识
grant_type是填写为refresh_token
refresh_token是填写通过access_token获取到的refresh_token参数  

返回说明

正确时返回的JSON数据包如下:

{ "access_token":"ACCESS_TOKEN",  

 "expires_in":7200,   

 "refresh_token":"REFRESH_TOKEN",   

 "openid":"OPENID",   

 "scope":"SCOPE" }

参数

描述

access_token网页授权接口调用凭证,注意:此access_token与基础支持的access_token不同
expires_inaccess_token接口调用凭证超时时间,单位(秒)
refresh_token用户刷新access_token
openid用户唯一标识
scope用户授权的作用域,使用逗号(,)分隔

 

获取用户信息  (需scope为 snsapi_userinfo)

如果网页授权作用域为snsapi_userinfo,则此时开发者可以通过access_token和openid拉取用户信息了。

请求方法

http:GET(请使用https协议) 

https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN

参数说明

参数

描述

access_token网页授权接口调用凭证,注意:此access_token与基础支持的access_token不同
openid用户的唯一标识
lang返回国家地区语言版本,zh_CN 简体,zh_TW 繁体,en 英语

返回说明

正确时返回的JSON数据包如下:

{    "openid":" OPENID",  

 " nickname": NICKNAME,   

 "sex":"1",   

 "province":"PROVINCE"   

 "city":"CITY",   

 "country":"COUNTRY",    

"headimgurl":    "http://wx.qlogo.cn/m*He/46",  

"privilege":[ "PRIVILEGE1" "PRIVILEGE2"     ],    

 "unionid": "o*fL" 

} 

参数

描述

openid用户的唯一标识
nickname用户昵称
sex用户的性别,值为1时是男性,值为2时是女性,值为0时是未知
province用户个人资料填写的省份
city普通用户个人资料填写的城市
country国家,如中国为CN
headimgurl用户头像,最后一个数值代表正方形头像大小(有0、46、64、96、132数值可选,0代表640*640正方形头像),用户没有头像时该项为空。若用户更换头像,原有头像URL将失效。
privilege用户特权信息,json 数组,如微信沃卡用户为(chinaunicom)
unionid只有在用户将公众号绑定到微信开放平台帐号后,才会出现该字段。
PHP微信公众号网页授权登录 扫码登录 获取用户基本信息 前言 现在微信登录是一个网站、APP的标配,所以微信授权登录是我们应该要掌握的。微信授权登录有4种方式: 1、通过微信开放平台2、通过认证的微信服务号3、通过认证的微信订阅号4、通过微信小程序曲线救国 今天我们就讲解的是微信服务号,通过OAuth2.0机制网页授权登录,获取用户基本信息。 流程 1、获取code2、获取access_token3、获取用户基本信息 获取code 通过以下接... 阅读详情

相关推荐

PHP实践:手把手微信公众号网页授权登录功能实现

在Web应用中,用户登录是非常常见的功能之一。为了提供更好的用户体验,并且方便用户进行登录,很多应用选择通过第三方平台进行登录授权,比如微信QQ等。本文将以微信登录授权为例,介绍如何使用PHP实现网页授权登录,并将用户昵称和头像更新到用户表中。通过以上的步骤,我们可以实现网页授权登录,并将用户的昵称和头像更新到用户表中。当用户点击登录按钮后,会跳转至微信授权页面进行登录和授权。用户同意授权后,微信将用户重定向回我们的网站,并携带一个授权码。我们使用这个授权码获取和openid,并通过和openid。

黑夜开发者的博客 9808

php实现微信网页授权回调代理

一个简单的php文件,实现微信网页授权回调域名的代理转发 <?php function is_HTTPS() { if (!isset($_SERVER['HTTPS'])) return FALSE; if ($_SERVER['HTTPS'] === 1) { //Apache return TRUE; } e...

weixin_30865427的博客 465

PHP实现微信网页授权开发教程

通过按照以上步骤,您可以在您的PHP应用程序中实现微信网页授权,并获取用户的基本信息。在创建应用时,您将获得一个AppID和AppSecret,这些信息将在后续的授权过程中使用。在本教程中,我们将介绍如何使用PHP实现微信网页授权开发。当用户授权后,微信将重定向到您在步骤3中设置的回调URL,并附带一个授权码。根据您的需求,您可以进一步添加其他功能,例如错误处理、用户取消授权的处理等。上述代码将获取用户的基本信息,并将其存储在变量中。应替换为您的回调URL地址,该地址将在用户授权后接收授权码。

XtAbap的博客 374

php微信网页授权登录代码,php微信网页授权代码(获取用户信息)

1.填写授权回调页面的域名 (注意只有服务号才可以页面授权)登录公众平台-->开发者中心-->接口权限表2.代码如下scope为snsapi_base 那么用户必须是关注了公众号才能取得信息index.php//scope=snsapi_base 实例$appid='你的AppId';$redirect_uri = urlencode ( 'http://你的域名/getUserIn...

weixin_30596433的博客 519

ThinkPHP3.2.3实现微信OAuth2.0网页授权实战指南

OAuth2.0是一种行业标准的授权协议,允许用户让第三方应用在一定时间内访问他们在某服务上存储的信息,例如图片、视频或联系人等。它适用于需要跨服务进行安全授权的场景,比如微信登录、第三方应用接入等。ThinkPHP是一个开源的轻量级PHP开发框架,自2006年发布以来,已经经历了多个版本的迭代。ThinkPHP3.2.3作为其中一个稳定版本,在国内拥有庞大的用户群体。其发展历程中,一直秉持着简洁、高效和易于使用的理念。

weixin_31459297的博客 484

python解析通达信dat与blk数据文件【附源码】

本文介绍了一个完整的通达信金融数据解析器项目,该项目攻克了通达信专有二进制文件格式解析的技术难题。项目采用模块化架构,从基础二进制解析到增强数据分类,最终实现智能语义化列名生成,形成完整的数据处理链路。核心技术包括自适应编码检测、智能数据类型推断和基于业务规则的语义化处理,解决了逆向工程、多编码兼容性等挑战。项目成果显著,解析成功率达100%,数据可读性大幅提升,开发效率提高50%,为量化交易、可视化分析等场景提供了可靠数据支持。该方案不仅具备技术创新性,更具有实际工程应用价值,为金融数据分析领域提供了可复

qq_36224726的博客 2687

微信授权回调地址+php,微信公众平台网页授权获取用户基本信息中授权回调域名设置的变动,基本信息回调_PHP教程...

微信公众平台网页授权获取用户基本信息中授权回调域名设置的变动,基本信息回调在腾讯的微信公众平台开发者文档,网页授权获取用户基本信息这一节中写道”在微信公众号请求用户网页授权之前,开发者需要先到公众平台网站的我的服务页中配置授权回调域名。请注意,这里填写的域名不要加http://“,链接:http://mp.weixin.qq.com/wiki/index.php?title=%e7%bd%91%e...

weixin_39759589的博客 445

完美解决LBP2900打印机安装驱动提示无法识别USB及连接错误等问题(附Win11全新安装支持及卸载方案)

LBP2900打印机虽然经典老旧,但在Win11上依然可以完美使用!许多网上教程都无视安装失败后的问题,在此分享一种全新、100%有效的方法来解决驱动连接错误和无法识别USB设备的问题。无论是新安装还是卸载重装,这个方法都适用。本文整合了通用驱动包,支持Win2000到Win11系统,操作简单,轻松摆脱安装困扰,享受无忧打印体验!

心开始の未来~的博客 2万+

PHP 实现微信内登录H5获取用户OPENID

洛弘科技-PHP 实现微信内H5登录获取OPenid和用户信息方法

1805

SAP打印错位问题终极解决指南:LP01设备格式设置全流程

本文详细解析了SAP系统中LP01设备打印错位问题的解决方案,重点介绍了SPAD事务码的配置流程和格式设置技巧。通过精准调整输出设备、设备类型和格式类型的匹配关系,有效解决'未定义格式'错误,确保打印内容准确对齐。文章还提供了高级排查方法和预防措施,帮助SAP管理员提升打印管理效率。

weixin_29311017的博客 388

MTK metadata中AF模块的移除与配置调整

本文详细介绍了在MTK平台Camera开发中如何移除metadata中的AF(自动对焦)模块。通过系统清理MTK_CONTROL_AF_REGIONS、MTK_CONTROL_MAX_REGIONS等关键配置项,并调整对焦模式及硬件特性声明,确保定制化设备在禁用自动对焦功能后的稳定运行。

q1w3e5r7t9y的博客 570

php微信网页授权登录代码,6.01 浅谈微信网页授权登录流程及代码实例

微信网页授权登录流程:1、首先通过微信自定义菜单:用户同意授权,页面发生跳转到显示用户信息方法,获取code;2、通过code换取网页授权access_token,得到取得access_token和openid;3、将access_token和openid,传入到微信提供的接口当中,拉取用户信息。实例:建立Weixin.php控制器:// 微信网页授权// 获取当前用户的昵称、头像信息// 1 第...

weixin_39942033的博客 248

基于STM32的半导体制冷片温度控制

制冷片温度控制,温控范围15℃~45℃,本人菜鸡一枚,大佬绕路。 #include "stm32f10x_gpio.h" #include "relay.h" void relay_Init(void){ GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);//Ê...

大白兔的博客 9014

用php写微信服务号页面流程图_PHP实现微信公众号网页授权

微信网页授权时通过OAuth2.0完成的,整个过程分为三步:用户授权,获取code;根据code获取access_token【可通过refresh_token刷新获取较长有效期】通过access_token和openid获取用户信息第一种简单封装:app_id}&redirect_uri={$redirect_uri}&response_type=code&scope=sn...

weixin_29585583的博客 198

1 硬件工程师笔面试高频知识考点真题及解析——电阻

本文系统介绍了电阻的基础知识、选型要点及各类特殊电阻的应用。主要内容包括:1. 电阻选型需考虑阻值、封装、功率、精度、耐压等参数;2. 高频信号优先选用小封装电阻以减小寄生参数;3. 采样电阻需高精度、低温漂以保证测量准确性;4. 详细解析了上拉/下拉电阻、0欧电阻、磁珠等元件的特性与区别;5. 介绍了压敏电阻、热敏电阻等特殊电阻的工作原理及应用场景;6. 阐述了阻抗匹配的重要性及常见匹配方法。文章为电子工程师提供了全面的电阻选型与应用指南。

XU157303764的博客 2834

使用plot函数可视化F分布累积分布函数数据(R语言)

在上面的代码中,我们使用了seq()函数来生成从0到5之间,以0.1为步长的一组F值。然后,我们指定了分子自由度为3,分母自由度为8,并使用pf()函数计算了对应的F分布CDF值。在本文中,我们将介绍如何使用R语言的plot函数来可视化F分布的累积分布函数(CDF)数据。通过使用plot函数,我们可以直观地了解F分布的累积分布函数,并对F值和对应的累积概率之间的关系有更深入的认识。运行上述代码后,我们将获得一个由F值和对应的累积概率构成的图形,其中x轴表示F值,y轴表示累积概率。

LogicGuruX的博客 502

微信h5登录php,H5 微信开发接入流程(网页登陆授权&JS-SDK授权)

登陆公众号,开发 - 接口权限 - 网页服务 - 网页帐号 - 网页授权获取用户基本信息 设置 授权回调域名(请勿加 http:// 等协议头),假设为www.test.com注意:这里额外需要传一个txt文件到域名对应的服务器上(微信的安全考虑)微信访问以下地址:(以下仅APPID需替换公众号的APPID),目的是获取code以换取tokenhttps://open.weixin.qq.com/...

weixin_39884877的博客 1538

[RK3568 Android12] 添加自定义启动脚本

1:定义添加的脚本 2:rk3568_s.mk 中定义打包 3:在启动脚本中init.rk356x.rc添加权限及何时启动 4:添加权限文件file_contexts 5:系统确认是否运行

OpenWrt/WLAN/驱动/Android/嵌入式开发总结 2219

php微信登录流程代码,6.1描述微信网页授权登录的流程。并写出示例代码

实例//通过code获取access_token用于获取用户信息publicfunctionauth_access_token($code){$url="https://api.weixin.qq.com/sns/oauth2/access_token?appid=".Config::get("wx.appid")."&secret=".Config::get("wx.apps...

weixin_39618173的博客 210

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

php公众号开发配置网页域名,微信公众号网页开发授权配置流程

1.配置1.1 公众号配置1.2 开发者账号配置选择开发者工具->web开发者工具->绑定开发者微信账号。1.3 开发域名配置选择公众号设置->功能设置,根据需求设置:业务域名、js接口域名、网页授权域名,并下载MP_verify_******.txt文件放在所配置域名的根目录下。2.网页授权2.1 网页授权详情请详细查看微信公众号网页授权,按照步骤和要求进行设置。2.2 JSA...

weixin_39605840的博客 300

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

微信公众号网页授权获取用户信息的流程

微信公众号 网页授权,code获取难点

Depressiom的博客 1669

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

H5微信网页授权接口开发 PHP

H5微信网页授权接口开发 PHP 去发现同类优质开源项目:https://gitcode.com/ 本文档为H5微信网页授权接口开发PHP版本的详细教程。教程涵盖了微信网页授权接口的基本概念、使用方法以及如何在PHP环境下实现用户信息的获取与传递。 教程介绍了通过两次跳转实现微信网页授权接口的完整流程,主要包括以下内容: 微信网页授权接口概述 PHP环境下实现微信网页授权接口的步骤 获取用户信息...

gitblog_06781的博客 450

微信网页开发教程 php,PHP微信网页授权开发详解

本篇文章主要介绍PHP微信网页授权开发详解,感兴趣的朋友参考下,希望对大家有所帮助。微信网页授权是服务号才有的高级功能,开发者可以通过授权后获取用户的基本信息;在此之前,想要获取消息信息只能在用户和公众号交互时根据openid获取用户信息;而微信网页授权可在不需要消息交互,也不需要关注的情况下获取用户的基本信息。微信网页授权时通过OAuth2.0完成的,整个过程分为三步:用户授权,获取code;根...

weixin_39613385的博客 127

ld链接时提示接口未实现_PHP实现微信网页登陆授权开发

这篇文章主要介绍了关于PHP实现微信网页登陆授权开发,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下我的官方群点击此处。微信开放平台和公众平台的区别[1]1.公众平台面向的时普通的用户,比如自媒体和媒体,企业官方微信公众账号运营人员使用,当然你所在的团队或者公司有实力去开发一些内容,也可以调用公众平台里面的接口,比如自定义菜单,自动回复,查询功能。目前大多数微信通过认证之后,都在做这...

weixin_39608479的博客 374

APP微信登录后端PHP,PHP开发微信授权登录教程

微信的授权登录和QQ、新浪等平台的授权登录都大同小异,均采用OauthOAuth2.0鉴权方式。微信授权分为两种:1、静默授权2、弹窗授权,需要用户手动同意两种scope的区别说明1、以snsapi_base为scope发起的网页授权,是用来获取进入页面的用户的openid的,并且是静默授权并自动跳转到回调页的。用户感知的就是直接进入了回调页(往往是业务页面)2、以snsapi_userinfo为...

weixin_32207065的博客 2220

【咸鱼教程】微信网页授权(获取用户头像、昵称等)

教程目录一 流程图二 微信测试号申请三 新建Egret项目四 微信网页授权流程五 微信Web开发者工具六 Demo下载一、流程图二、微信测试号申请测试号申请参考之前教程:http://bbs.egret.com/thread-26429-1-1.html申请微信测试号后,要测试网页授权,需要设置授权回调页面域名。现在我们有了一个可以测试微信授权的账号。三、新建Egret项目新建一个egret...

weixin_30530939的博客 1514
上一篇: CentOS 7 设置DNS解析 不被覆盖
下一篇: 前端页面 即时生成二维码方便手机使用(主要记录个样式)
阿……莫西林
博客等级 码龄9年 42粉丝 111原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值