Wi-Fi硬件鉴权协议接口说明
模块时序图
若无法看清图中文字,可先通过“图片另存为”将图片保存到本地,再放大查看。
微信公众平台微信连Wi-Fi插件中,打开【设备管理】->【添加设备】,添加“新增微信方式连网+连网后近场服务”->”Portal型设备”;添加成功后即可获得门店Wi-Fi参数信息。
已添加设备也可在【设备详情】->【查看设备改造信息】中,获得门店Wi-Fi参数信息。
2. 调用接口获得
调用“添加portal型设备”接口获得。
获取物料二维码”接口,下载该门店二维码,张贴于店内,顾客即可扫码连Wi-Fi。
https://wifi.weixin.qq.com/operator/demoNew.xhtml
如果用微信扫码,请点击有右上角按钮,选择“在浏览器中打开”页面,不要直接在微信浏览器中体验。
微信公众平台开通微信连Wi-Fi插件,在【设备管理】->【添加设备】里,添加“新增微信方式连网+连网后近场服务”->”Portal型设备”;添加成功后即可获得门店Wi-Fi参数信息。
已添加设备也可在【设备详情】->【查看设备改造信息】中,获得门店Wi-Fi参数信息。
2. 通过接口获得
调用“获取WiFi门店列表”接口获得shop_id,即设备要添加到的门店的ID。
https://wifi.weixin.qq.com/operator/demoForPc.xhtml
移动端实现流程的第一步,获取门店的Wi-Fi信息。
第二步:改造移动端portal页
在portal页中引用离线呼起微信的链接,让原有的Wi-Fi的portal页具备呼起微信客户端的能力。链接格式具体如下:
function callWechatBrowser(){
var appId = getParam('appId');
var shopId = getParam('shopId');
var authUrl = getParam('authUrl');
var extend = getParam('extend');
var timestamp = getParam('timestamp');
var sign = getParam('sign');
var weixinUrl = 'weixin://connectToFreeWifi/?apKey=_p33beta&appId='+appId+'&shopId='+shopId+'&authUrl='+authUrl+'&extend='+extend+'×tamp='+timestamp+'&sign='+sign;
window.location=weixinUrl;
}
参数说明
参数
是否必须
说明
appId
是
商家微信公众平台账号
shopId
是
即shop_id,设备所在门店的ID(微信公众平台门店)
authUrl
是
认证服务端URL,微信客户端将把用户微信身份信息向此URL提交并获得认证放行。authUrl的值是经过Url编码的,如:http%3A%2F%2F192.168.1.1%2Fauth.html%3Ft%3Dabc%26s%3D123
extend
是
extend里面可以放开发者需要的相关参数集合,最终将透传给运营商认证URL。extend参数只支持英文和数字,且长度不得超过300个字符。
timestamp
是
时间戳使用毫秒
sign
是
请求参数签名,具体计算方法见下方说明
签名的计算方法:
sign = MD5(appId + extend + timestamp + shop_id + authUrl + mac + ssid + secretkey);
注意:这里timestamp为毫秒单位的当前时间戳。authUrl在签名时为未编码的url格式,如:http://192.168.1.1/auth.html?t=abc&s=123
第三步:支持微信身份认证放行
微信客户端被呼起后,将自动向authUrl发起认证请求,提交extend参数。用户微信身份(tid参数)将通过商户主页传递,请开发者注意在商家主页的后台获取。 微信客户端向authUrl发送请求示例:
http://www.foo.com/portal/auth.html?extend=xxx
参数说明
参数
说明
extend
为上文中调用呼起微信JSAPI时传递的extend参数,这里原样回传给商家主页
authUrl所对应的后台认证服务器必须能识别这些参数信息,并向微信客户端返回AC认证结果,微信客户端将根据http返回码,提示用户连网成功与否。
若http返回码为200,则认为服务认证成功,微信客户端跳转到成功连接页,用户点击“完成”按钮后,将跳转到商家主页;若认证服务器需要转移认证请求,请返回302和下一跳地址,微信客户端将向下一跳地址再发起一次请求,302跳转仅支持一次;对于非200和302,或者超过次数的302返回码,视为认证失败,此次连网失败,微信客户端跳转到连接失败页。
注意:微信客户端一次请求的等待时间为10s,请确保后台认证服务器在微信客户端向authUrl发送请求10s之内返回AC认证结果,即http返回码。超过10s未返回认证结果将视为认证失败。
模块时序图
https://wifi.weixin.qq.com/operator/demoNew.xhtml
如果用微信扫码,请点击有右上角按钮,选择“在浏览器中打开”页面,不要直接在微信浏览器中体验。
微信公众平台开通微信连Wi-Fi插件,在【设备管理】->【添加设备】里,添加“新增微信方式连网+连网后近场服务”->”Portal型设备”;添加成功后即可获得门店Wi-Fi参数信息。
已添加设备也可在【设备详情】->【查看设备改造信息】中,获得门店Wi-Fi参数信息。
2. 通过接口获得
调用“获取WiFi门店列表”接口获得shop_id,即设备要添加到的门店的ID。
https://wifi.weixin.qq.com/operator/demoForPc.xhtml
移动端实现流程的第一步,获取门店的Wi-Fi信息。
第二步:改造移动端portal页
在portal页中引用离线呼起微信的链接,让原有的Wi-Fi的portal页具备呼起微信客户端的能力。链接格式具体如下:
function callWechatBrowser(){
var appId = getParam('appId');
var shopId = getParam('shopId');
var authUrl = getParam('authUrl');
var extend = getParam('extend');
var timestamp = getParam('timestamp');
var sign = getParam('sign');
var weixinUrl = 'weixin://connectToFreeWifi/?apKey=_p33beta&appId='+appId+'&shopId='+shopId+'&authUrl='+authUrl+'&extend='+extend+'×tamp='+timestamp+'&sign='+sign;
window.location=weixinUrl;
}
参数说明
参数
是否必须
说明
appId
是
商家微信公众平台账号
shopId
是
即shop_id,设备所在门店的ID(微信公众平台门店)
authUrl
是
认证服务端URL,微信客户端将把用户微信身份信息向此URL提交并获得认证放行。authUrl的值是经过Url编码的,如:http%3A%2F%2F192.168.1.1%2Fauth.html%3Ft%3Dabc%26s%3D123
extend
是
extend里面可以放开发者需要的相关参数集合,最终将透传给运营商认证URL。extend参数只支持英文和数字,且长度不得超过300个字符。
timestamp
是
时间戳使用毫秒
sign
是
请求参数签名,具体计算方法见下方说明
签名的计算方法:
sign = MD5(appId + extend + timestamp + shop_id + authUrl + mac + ssid + secretkey);
注意:这里timestamp为毫秒单位的当前时间戳。authUrl在签名时为未编码的url格式,如:http://192.168.1.1/auth.html?t=abc&s=123
第三步:支持微信身份认证放行
微信客户端被呼起后,将自动向authUrl发起认证请求,提交extend参数。用户微信身份(tid参数)将通过商户主页传递,请开发者注意在商家主页的后台获取。 微信客户端向authUrl发送请求示例:
http://www.foo.com/portal/auth.html?extend=xxx
参数说明
参数
说明
extend
为上文中调用呼起微信JSAPI时传递的extend参数,这里原样回传给商家主页
authUrl所对应的后台认证服务器必须能识别这些参数信息,并向微信客户端返回AC认证结果,微信客户端将根据http返回码,提示用户连网成功与否。
若http返回码为200,则认为服务认证成功,微信客户端跳转到成功连接页,用户点击“完成”按钮后,将跳转到商家主页;若认证服务器需要转移认证请求,请返回302和下一跳地址,微信客户端将向下一跳地址再发起一次请求,302跳转仅支持一次;对于非200和302,或者超过次数的302返回码,视为认证失败,此次连网失败,微信客户端跳转到连接失败页。
注意:微信客户端一次请求的等待时间为10s,请确保后台认证服务器在微信客户端向authUrl发送请求10s之内返回AC认证结果,即http返回码。超过10s未返回认证结果将视为认证失败。
已添加设备也可在【设备详情】->【查看设备改造信息】中,获得门店Wi-Fi参数信息。
2. 通过接口获得
调用“获取WiFi门店列表”接口获得shop_id,即设备要添加到的门店的ID。