AC/AP设备改造需要达到以下要求。
1)提供获取AP及终端手机MAC地址的Web API。
某款Portal路由器获取路由器及当前连接手机MAC地址的API接口如下。
http:// fangbei.lan:8080/ubus
请求MAC地址时,提交POST数据示例如下。
{
"id":1234,
"jsonrpc":"2.0",
"method":"call",
"params":[
"00000000000000000000000000000000",
"mgmtd",
"info",
{}
]
}
上述数据提交后,返回数据示例如下。
{
"jsonrpc":"2.0",
"id":1234,
"result":[
0,
{
"hwid":"08410008",
"swver":"r0.7.6-fangbei",
"client_ip":"192.168.3.206",
"macaddr":"00e0614ca7c5",
"client_mac":"0021ccb8bfd4"
}
]
}
其中,macaddr和client_mac分别为当前路由器和手机终端的MAC地址。
2)将IOS的嗅探地址放入白名单。
为了防止IOS切换SSID时自动弹出Portal页,需要将IOS的嗅探地址“http://captive.apple.com/hotspot-detect.html”放入路由器放行地址白名单。
3)支持临时放行上网请求。
AP/AC在Portal页打开后需要临时放行用户的上网请求。只有临时放行成功,才可以通过JS API调起微信,换取用户身份信息,保证后续认证请求顺利完成,从而成功联网。
IOS调起微信时,如果网络不通,WiFi会被切走,会导致联网失败,因此需要AC/AP支持临时放行上网请求。