主题 : OSSH免费版Portal系统APP认证流程及功能的探讨 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 107971
精华: 0
发帖: 6
金钱: 30 两
威望: 6 点
贡献值: 0 点
综合积分: 12 分
注册时间: 2014-09-11
最后登录: 2014-09-29
楼主  发表于: 2014-09-29 17:27

 OSSH免费版Portal系统APP认证流程及功能的探讨


        说起无线认证中的APP认证,那么大家一定会想到微信认证。而APP认证不同于微信认证的主要地方在于APPClient的用户数据信息全都在自有的APPServer数据库中。同时APP应用可以按照自己的业务流程进行设计和开发,而微信认证就需要在微信的接口和流程基础上,才能进行自身业务流程的设计和开发,会存在一定的局限性。
对于用户数较少的普通客户,微信就可以满足自身对无线认证的需求,如果客户的无线认证网络具有一定的用户规模,那么APP认证会是一个不错的选择。
APP认证同OSSH免费版华为Portal系统的页面认证相类似,流程上都是大同小异,为了方便大家理解,现将APP认证的流程描述如下:
1、初次使用,在无线认证网络进行http访问请求,弹出OSSH免费版华为PORTAL认证页面,在页面中提供APP的下载链接并下载;
2、安装APP并进行注册,将注册信息发送给APP服务器;
3、APP服务器收到用户注册的提交信息后调用RADIUS接口利用注册信息进行开户,生成相应的用户名和密码信息,并将该帐号生成成功的信息发送给APP服务器;
4、APP服务器收到用户开户成功信息后在自己的库里面创建相同的帐号和密码,建立成功后告知用户可以利用APP客户端登录;
5、当APP客户端得知注册成功的信息,模拟发起http访问请求,获得客户端手机的MAC和IP等信息,同时APP客户端会注册的用户名密码信息以及获取到的IP、MAC信息,发送给OSSH免费版Portal系统进行正常的Portal认证流程,认证完毕后用户正常上网;
6、但用户再此链接到该无线认证网络时,APP客户端自动(如果后台没有关闭进程的话)进行第5步操作完成认证,无需用户进行任何操作即可上网。

        从以上流程我们可以看到,一方面还是采用的Portal认证的流程,由APP模拟http请求获取到了Portal的地址以及客户端的参数信息;另一方面初次使用APP需要注册,而注册的流程相当于在Radius中提前进行了开户。那么通过以上就实现了APP的无线认证上网。
既然我们已经有了自己的APP服务端和APP客户端,那么是否可以基于APP实现更多的业务功能呢?小编在这里抛砖引玉以供大家参考和探讨(由于很多业务是需要Radius配合才能使用,我们这里的Radius主要采用的是蓝海卓越的高性能Radius引擎产品和接口)。
需求一:下线
        经常有客户会咨询无线认证网络中有了APP认证,如果用户下载注册并进行APP认证后就卸载、注销或者关闭进程了,无法达到APP实时推送消息的效果,该怎么办呢?
其实对于这类问题的处理非常简单,APPServer和APPClient之间建立定期或者不定期的交互机制,如果APPServer在一定周期内无法同某一个APPClient之间进行交互,那么APPServer就认为该客户端已经关闭或者注销或者卸载了,此时APPServer只需调用Radius接口将该客户端账户状态改变为下线,并由Radius主动向AC发送COA下线报文,让AC将该用户踢下线即可。
需求二:APP等级业务
        一般都会鼓励终端用户尽可能的多使用APP进行上网,有时会引入一个APP等级的业务,怎么说呢,就是APPServer根据自己的一些策略比如登录时长对APPClient进行等级提升,等级提升了那么相应的该客户端账户的上网套餐就会变更,包括上传下载速度、上网时长等参数。基于这个需求,实现的步骤描述如下:
1、针对APP等级调整不同的套餐(参数),可以在认证计费系统中建立多个套餐,取名为VIP0、VIP1、VIP2、VIP3等,默认初次APP注册并认证上网的用户级别为VIP0;
2、当APPServer发现某APPClient满足升级VIP1时,向蓝海卓越提供的Raddius“业务接口”发送该APPClient的参数(user、password、VIP1),“业务接口”得到参数后一方面将认证计费系统中的该用户套餐由VIP0改为VIP1,另一方面根据参数对Radius中的(改套餐的具体参数、用户状态等)进行修改,以便该APPClient下次登录时生效;
3、于此同时,“业务接口”通过COA报文发送给AC进行动态执行并生效,当然有些AC会下次生效。

        当然上面只是市场上部分的需求,OSSH免费版华为Portal小编还有遇到过“将定位功能集成到APPClient中,APPServer可以根据APPClient的位置信息,精准的向APPClient推送APP消息”等等高大上的需求。如果您有什么更好的应用想法,也可以在OSSH论坛或者OSSH的官方群进行分享和探讨。