FAQ-在Agile Controller 中实现使用微信帐号进行身份认证方案

发布时间:  2015-12-08 浏览次数:  738 下载次数:  0
问题描述
为了方便终端用户使用已有的微信帐号进行身份认证,业务管理器支持与微信认证服务器进行联动,确保终端用户在不另外注册帐号的情况下通过关注微信公众账号接入网络。
解决方案

步骤 1   在https://mp.weixin.qq.com/申请微信公众帐号。

步骤 2    搭建微信公众帐号平台。

说明:微信公众帐号平台需要与微信服务器通信联动,因此微信公众帐号平台必须提供在Internet可以访问的URL地址。

微信公众帐号平台可以搭建在云服务器或者企业自有Web服务器。微信公众帐号平台与微信平台联动配置请参见微信平台指导;微信公众帐号平台搭建以及与Agile Controller-Campus联动配置请参见微信公众账号平台二次开发。

步骤 3    公众帐号平台绑定微信公众帐号。

登录微信平台,进入“开发者中心”,单击“启用开发者模式”,并在界面中填写微信公众帐号平台相关信息。



步骤 4    在Agile Controller-Campus配置与公众帐号平台联动参数。

在“系统 > 外部认证源 > 第三方应用”中启用“weixin”,并设置如下参数:

Common account ip:10.10.10.10
Auth secret:Bond.James Bond.Bond.James Bond.

参数设置与微信公众帐号平台中的设置一致。

步骤 5    配置第三方应用数据源的认证规则。

在“策略 > 准入控制 > 认证授权 > 认证规则”中增加第三方应用数据源的认证规则。



步骤 6    定制认证页面。

   1、选择“策略 > 准入控制 > 页面定制 > 页面定制”。

   2、输入页面基本参数。

名称:社交媒体
页面文件夹名称:socialmedia
页面类型:手机页面

   3、选择“默认模板_微信_中文”。

步骤 7    配置Portal推送规则。

选择“策略 > 准入控制 > 页面定制 > Portal页面推送规则”,增加Portal页面推送规则中URL地址选择名称为社交媒体的定制页面。

步骤 8    配置接入控制设备。

说明:

接入控制设备的详细配置请参见举例:无线环境中的Portal认证接入。

   1、配置URL重定向,将未认证的流量重定向到Portal Server认证。

[AC] url-template name huawei
[AC-url-template-huawei] url-parameter user-ipaddress userip redirect-url oriurl
[AC-url-template-huawei] url http://192.168.100.100:8080/portal
[AC-url-template-huawei] quit

   2、绑定url-template到web-auth-server。

[AC] web-auth-server test
[AC-web-auth-server-test] url-template huawei
[AC-web-auth-server-test] quit

   3、配置微信服务器为未认证情况下即可访问的网络资源。

说明:
     下面的IP地址是通过微信平台为微信公众账号提供的“获取微信服务器IP地址”接口得到,不一定为全部微信服务器的IP地址,可能会存在访客连接wifi后,无法收发微信消息的情况。如果交换机支持将模糊域名作为免认证网路资源,建议将*.weixin.qq.com配置为认证前域。

[AC] portal free-rule 1 destination ip 101.226.103.59 mask 32    //重复该命令将101.226.103.59~101.226.103.73全部加入
[AC] portal free-rule 2 destination ip 101.226.62.77 mask 32    //重复该命令将101.226.62.77~101.226.62.86全部加入
[AC] portal free-rule 3 destination ip 140.207.54.73 mask 32    //重复该命令将140.207.54.73~140.207.54.80全部加入

在关联SSID之后,苹果智能设备会尝试打开指定站点检查网络是否畅通。

如果发现网络畅通,则苹果智能设备就会在消息栏显示Wi-Fi已连接的图标。
如果发现网络不通,则苹果智能设备与站点之间可能存在Web重定向操作,终端用户需要在重定向的页面进行认证,认证后苹果智能设备才允许接入网络。如果认证不过,则苹果智能设备会切断与当前热点的连接。苹果把这种功能称之为Captive Network Assistant(CNA),也叫Captive Web Portal(CWP)。

在微信、二维码接入方案中,Portal服务器推送的页面只显示终端接入指导,并非真正的身份认证页面(认证链接附在微信中发送),会导致苹果智能设备认为Portal认证不通过,进而切断与当前网络热点的连接,导致苹果智能设备无法通过微信接入或二维码接入。

为了避免这种问题发生,除了微信服务器,管理员同样需要把下面的网站也加入放行列表,确保苹果智能设备不会切断与当前网络热点的连接。

AC V200R006C00版本和S系列交换机V200R007C20版本支持按照完整主机名放行访问权限。上述两个版本均未发布,这里只给出通过完整主机名查询IP地址的方法,然后给出认证前放行IP地址的举例。

如果AC版本不支持通过完整主机名方式放行目标服务器。通过命令提示符窗口运行“nslookup 完整主机名”可查到主机名对应的IP地址,然后通过IP地址形式放行。

www.appleiphonecell.com
www.apple.com
captive.apple.com
www.airport.us
www.itools.info
www.ibook.info
www.thinkdifferent.us

nslookup命令的作用是向DNS服务器查询指定主机名对应的IP地址。使用举例如下:

C:\>nslookup www.apple.com  //查询www.apple.com对应的IP地址
服务器:lg-ns2.huawei.com  //DNS服务器的完整主机名
Address:  10.72.55.103  //DNS服务器的IP地址

非权威应答:

名称:e3191.dscc.akamaiedge.net  //www.apple.com正式主机名
Addresses: 2600:140b:13:28a::c77  //www.apple.com对应的IP地址1(IPV6)
          2600:140b:13:289::c77  //www.apple.com对应的IP地址2(IPV6)
          23.42.176.159  //www.apple.com对应的IP地址(IPV4)
Aliases:  www.apple.com  //www.apple.com主机别名
          www.isg-apple.com.akadns.net
          www.apple.com.edgekey.net

23.42.176.159就是www.apple.com的IP地址。

portal free-rule 4 destination ip 23.42.176.159 mask 32

重复根据完整主机名查询IP地址和portal free-rule命令把上述站点都加入认证前域。

END