h5微信授权php,接入微信授权
在确保微信公众账号拥有授权作用域(scope参数)的权限的前提下(服务号获得高级接口后,默认拥有scope参数中的snsapi_base和snsapi_userinfo),引导关注者打开如下页面:
https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect
若提示“该链接无法访问”,请检查参数是否填写错误,是否拥有scope参数对应的授权作用域权限。
尤其注意:
1、在发起授权请求时,微信会对授权链接做正则强匹配校验,如果链接的参数顺序不对,授权页面将无法正常访问
2、授权后重定向的回调地址redirect_uri,注意必须动态获取,不能 hardcode,且需要urlencode,否则授权过程中可能造成链接参数的丢失,导致监测数据不完整。
PHP、ASP、JSP等web语言动态获取页面完整URL方法:
PHP
$redirect_url = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER["REQUEST_URI"];
ASP
string redirect_url = Request.Url.ToString();
JSP
String redirect_url = request.getScheme()+"://"+ request.getServerName()+request.getRequestURI()+"?"+request.getQueryString();
其他开发语言请参考对应编程语言API获取。
参考链接(请在微信客户端中打开此链接体验)
Scope为snsapi_base
https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx520c15f417810387&redirect_uri=https//chong.qq.com/php/index.php?d=&c=wxAdapter&m=mobileDeal&showwxpaytitle=1&vb2ctag=4_2030_5_1194_60&response_type=code&scope=snsapi_base&state=123#wechat_redirect
Scope为snsapi_userinfo
https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxf0e81c3bee622d60&redirect_uri=http://nba.bluewebgame.com/oauth_response.php&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect
尤其注意:跳转回调redirect_uri,应当使用https链接来确保授权code的安全性。
参数说明
参数是否必须说明
appid是公众号的唯一标识
redirect_uri是授权后重定向的回调链接地址,请使用urlencode对链接进行处理
response_type是返回类型,请填写code
scope是应用授权作用域,snsapi_base (不弹出授权页面,直接跳转,只能获取用户openid),snsapi_userinfo (弹出授权页面,可通过openid拿到昵称、性别、所在地。并且,即使在未关注的情况下,只要用户授权,也能获取其信息 )
state否重定向后会带上state参数,开发者可以填写a-zA-Z0-9的参数值,最多128字节
#wechat_redirect是无论直接打开还是做页面302重定向时候,必须带此参数
下图为scope等于snsapi_userinfo时的授权页面:
用户同意授权后
如果用户同意授权,页面将跳转至 redirect_uri/?code=CODE&state=STATE。若用户禁止授权,则重定向后不会带上code参数,仅会带上state参数redirect_uri?state=STATE
code说明 :
code作为换取access_token的票据,每次用户授权带上的code将不一样,code只能使用一次,5分钟未被使用自动过期。
h5微信授权php,接入微信授权相关推荐
- CocosCreator微信小游戏接入微信登录获取微信名、头像、经纬度等信息
前言 微信小游戏接入微信登录还是很简单的,不像原生平台开发,还需要提供appid,appsecret等信息,并有一系列的和微信平台的交互,才能最终授权成功. 下面TS代码演示了,老的接入流程. exp ...
- 微信小程序接入微信支付(二):后台调用统一下单接口
微信统一支付官方文档:https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=9_1 因该接口需要商户系统中自己的订单编号,笔者先 ...
- 微信小程序接入微信支付(三):小程序端调用支付接口
微信小程序调用支付接口官方文档:https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=7_7&index=5 在上一节中 ...
- 微信小程序--sha1加密元素以字典顺序排序微信小程序接入微信公众平台
java--sha1加密 算法实现 bytes[i] & 0xFF 原理详解 以字典顺序排序 php----$_GET[] http认证中的nonce与timestamp token和nonc ...
- 微信小程序接入微信支付全流程(koa2)
在微信公众平台配置request合法域名和业务域名 使用ten_pay插件接入微信支付 1.配置域名 开发管理->开发设置->在服务器域名在里面配置request合法域名(必须是https ...
- php网站接入微信支付,PHP接入微信H5支付的方法示例
开发前配置 进行代码接入前,需在微信后台填写授权回调域名,此域名必须经过icp备案 开发主要流程 用户下单时选择微信支付 商户进行业务逻辑处理并调用微信统一下单接口,微信h5交易类型为:trade_t ...
- 微信小程序接入微信支付流程
一.基本介绍 1.支付场景:点击支付按钮唤起微信支付弹窗,输入正确密码后完成支付. 2.基本流程:点击支付按钮首先生成一个订单,然后在后端调用微信api接口进行统一下单,将接口返回的数据回传到前端拉起 ...
- PHP-TP微信公众号接入微信分享-Poison
微信分享其实是最好接入的 首先下载微信分享的sdk,放入Library中 建议放到Vendor中 我比较懒就放到这一块了 别向我学习 这时候就需要去代码中实现了 //---------------- ...
- python对接微信支付_python3接入微信企业支付实现小程序提现
最近发现某些小程序有了提现功能,原来小程序是不支持提现的,所以当初实现方法是打算让用户去关注公众号,再从公众号提现,当然前提要公众号跟小程序使用同一的unionid来标记唯一用户,既然现在支持小程序直 ...
最新文章
- iOS单独集成QQ分享功能
- SpringBoot-hello world
- 计算机怎么查看U盘品牌,如何查看电脑u盘使用
- 小米 11 不送充电器;苹果已修复 iCloud 登录激活问题;Ruby 3.0.0 发布|极客头条...
- arcore之路-unity开发从入门到实践_AR开发之路——准备工作
- HSRP在企业网中的应用(CISCO小凡模拟器)
- AndroidTV开发-实现APP开机自启动
- SAS中的intnx函数
- Session-判断用户登陆验证码是否正确
- 如何将台式计算机连接到WiFi,台式机怎么连接wifi?台式电脑连接无线网络的方法(图文)...
- Mac sublime3 在localhsot 上打开项目文件
- 2022-02-15:扫地机器人。 房间(用格栅表示)中有一个扫地机器人。 格栅中的每一个格子有空和障碍物两种可能。 扫地机器人提供4个API,可以向前进,向左转或者向右转。每次转弯90度。 当扫地机
- A Framework for Multi-stage Bonus Allocation in meal delivery Platform
- 【JavaSe】面向对象篇(五) 三大特征之二继承
- 阿里巴巴字体图标的使用
- 用while和for循环分别计算100以内奇数和偶数的和,并输出。(Java)
- 光谷计算机专业好的学校,华一寄、华一初、华一光谷哪所学校更好(综合对比)...
- CosFace:Large Margin Cosine Loss
- 关键选择:等公司加薪or跳槽涨薪?
- 输入年份,打印全年的日历。 每周的第一天应为星期日。 星期制在我国正式使用是清末(1905年),但其来源却是中外时间文化的殊途同归。古人观天象计时间除了最明显的日