开发微擎模块的时候 常会遇到一个问题:
只有服务号才能直接在网页上获取OpenID,
如果是订阅号就只能从对话消息中获取OpenID然后传到网页,
虽然微擎有个功能叫做“借用oAuth权限”,
但是有时候连借都没地方借,怎么办呢?
还好这是个互联网时代,有需求,就会有服务。
“微信之门”就是为此而生的,转发一下他们的简介:
微信打开的网页,是无法持久存贮 cookies 的,你知道吗? 那么如何辨识唯一用户呢?
是的,使用微信服务号!服务号拥有高级接口,可以给让网站通过微信的OAuth2授权, 获得用户的 OpenID, 从而辨别一个唯一用户。
那么,没有微信服务号呢? 这就是微信之门诞生的原因。
其它使用说明可以到微信之门官网查看。
我要写的是怎么在微擎模块中使用微信之门的接口,
在你的xxxModuleSite类(也就是addons/xxx/site.php文件)添加一个构造函数 代码如下:
function __construct() { global $_W, $_GPC; if (empty($_W["openid"])) { if (empty($_SESSION["openid"])) { if ($_GPC["wgateid"]) { $_W["openid"] = $_SESSION["openid"] = $_GPC["wgateid"]; } else { $thisUrl = urlencode("http://" . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]); $gateUrl = "http://www.weixingate.com/gate.php?back=$thisUrl&force=1&info=none"; header("Location: " . $gateUrl); exit; } } else { $_W["openid"] = $_SESSION["openid"]; } } }
好吧,代码一出 说什么都显得多余,
这逻辑简单到小朋友都看得懂,就不多做解释了,
事实上还可以调用一下验证接口,检查一下传回来的的wgateid,如何有需要的话……
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/21172.html
摘要:我们知道,服务号有获取用户基本信息的接口,通过网页授权获取的。但是认证的订阅号也有获取用户基本信息的接口了,但是与服务号不同的是,这个需要用户主动触发才可以获得,需要用户发送任意关键词或者点击菜单。那么最后一步,就是获取用户基本信息了。 我们知道,服务号有获取用户基本信息的接口,通过oauth2.0网页授权获取的。但是认证的订阅号也有获取用户基本信息的接口了,但是与服务号不同的是,这个...
摘要:小程序登录微信网页授权版首先呢,登录授权授权登录,是一样的意思,不用纠结。写小程序授权登录的代码前,需要了解清楚与的区别,这里再简单介绍一下腾讯有个微信开放平台,只有企业才能注册账号,可理解为微信体系里,最顶级的账号。 小程序登录、微信网页授权(Java版) 首先呢,登录、授权、授权登录,是一样的意思,不用纠结。 写小程序授权登录的代码前,需要了解清楚openid与unionid的区别...
摘要:本文是浅析微信支付系列文章的第二篇,主要讲解一下普通商户接入的支付方式以及其中的不同之处。浅析微信支付前篇大纲微信支付是集成在微信客户端的支付功能,用户可以通过手机完成快速的支付流程。目前微信支付支持手机系统有苹果安卓和。 本文是【浅析微信支付】系列文章的第二篇,主要讲解一下普通商户接入的支付方式以及其中的不同之处。 上篇文章讲了本系列的大纲,没有看过的朋友们可以看一下。 浅析微信支...
阅读 2344·2021-11-15 11:37
阅读 2624·2021-09-23 11:21
阅读 2950·2021-09-07 10:11
阅读 3163·2019-08-30 15:53
阅读 2825·2019-08-29 15:13
阅读 1606·2019-08-26 13:57
阅读 1097·2019-08-26 12:23
阅读 2437·2019-08-26 11:51