微信连wifi portal验证

创建公众账号门店

1.添加功能门店管理


微信连wifi portal验证_第1张图片

2.创建门店

微信连wifi portal验证_第2张图片


微信连wifi portal验证_第3张图片

添加微信连Wi-Fi设备

微信连wifi portal验证_第4张图片


微信连wifi portal验证_第5张图片


 完成后提交,获得门店Wi-Fi设备改造信息,包括:appId,shop_id,ssid,secretkey。


微信连wifi portal验证_第6张图片


开发移动端Portal页面

微信连Wi-Fi流程

模块时序图

若无法看清图中文字,可先通过“图片另存为”将图片保存到本地,再放大查看。

微信连wifi portal验证_第7张图片

1. 用户手动选择SSID,手机浏览器弹出Portal页面

2. Portal页面初始化时,向AC/AP请求移动端和AC/AP的MAC地址

移动设备在portal页中引用下述微信JSAPI,让原有Wi-Fi portal页具备呼起微信的能力:



调用JSAPI触发呼起微信客户端:



php获取微信返回的openId,tid,extend回调接口

public function auth(){ 
$gwId = $_GET["gwId"]; 
$openId = $_GET["openId"]; 
$extend= $_GET["extend"]; 
$tid= $_GET["tid"]; //获取openId添加到数据库获取该用户的token 
}


参数说明

参数 是否必须 说明

appId

商家微信公众平台账号

extend

extend里面可以放开发者需要的相关参数集合,最终将透传给运营商认证URL。extend参数只支持英文和数字,且长度不得超过300个字符。

timestamp

时间戳使用毫秒

sign

请求参数签名,具体计算方法见下方说明

shop_id

AP设备所在门店的ID(微信公众平台门店)

authUrl

认证服务端URL,微信客户端将把用户微信身份信息向此URL提交并获得认证放行

mac

安卓设备必需

用户手机mac地址,格式冒号分隔,字符长度17个,并且字母小写,例如:00:1f:7a:ad:5c:a8

ssid

AP设备的信号名称

bssid

无线网络设备的无线mac地址,格式冒号分隔,字符长度17个,并且字母小写,例如:00:1f:7a:ad:5c:a8

3. 用户点击微信连Wi-Fi按钮,浏览器请求AC/AP临时放行

4. AC/AP临时放行移动端所有上网请求   

可以wifidog中做防火墙策略临时放行微信所有的ip

http://xxx/callback/auth?httpCode=200?gwId=xxx&gwId=&extend=xxx&openId=xxx&tid=xxx

参数说明

参数 说明
extend 为上文中调用呼起微信JSAPI时传递的extend参数,这里原样回传给商家主页
openId 用户的微信openId
tid 为加密后的用户手机号码(仅作网监部门备案使用)


5. 浏览器生成ticket,发向微信Server

jsonpCallback({'success':true,'data':'weixin://connectToFreeWifi/?apKey=http%3A%2F%2Fmp.weixin.qq.com%2Fmp%2Fwifi%3Fq%3D47b33c80e2910d51&ticket=ba21685ba44144dc988fa02ec8254053'})

微信连wifi portal验证_第8张图片


6. 连接成功

微信连wifi portal验证_第9张图片

7. 跳转到商家主页可自己设置微信连wifi portal验证_第10张图片

Portal页面代码




    
    微信连Wi-Fi
    
    
    
    
    
    
    


欢迎使用微信连Wi-Fi

一键打开微信连Wi-Fi2






参考文档:

Wi-Fi硬件鉴权协议接口说明 - 微信公众平台开发者文档

微信公众平台开发(110) 微信连Wi-Fi








你可能感兴趣的:(weixin,php)