一种实现推送的方法及装置的制造方法_2

文档序号:9420353阅读:来源:国知局
行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0047]本发明应用于包括认证服务器、认证数据库、业务系统服务器、客户端、移动终端组成的系统中,其中,移动终端具体为装载了移动终端令牌的终端设备,如手机,客户端可以具体为PC机。
[0048]实施例1
[0049]本实施例提供了一种实现推送的方法,可以应用于移动终端、客户端、业务系统服务器、认证服务器、认证数据库组成的系统,其中,移动终端上装载有移动终端令牌(如手机令牌),如图1-1和图1-2所示,当用户在客户端的浏览器页面选择激活移动终端令牌时,执行:
[0050]步骤1:客户端向业务系统服务器发送获取激活二维码请求;
[0051]步骤2:业务系统服务器接收所述获取激活二维码请求,并从所述获取激活二维码请求中获取用户ID,根据所述用户ID生成激活请求;
[0052]步骤3:业务系统服务器向认证服务器发送所述激活请求;
[0053]步骤4:认证服务器接收所述激活请求,生成请求标识,从所述激活请求中获取用户ID,将所述请求标识与所述用户ID绑定并保存到缓存中;
[0054]具体的,调用随机数生成函数生成一个随机数,将生成的随机数作为请求标识(reqid)。
[0055]例如,生成的请求标识reqid = fasdcvxvdsafdsfzcxcsdfsdafcxz。
[0056]步骤5:认证服务器向认证数据库发送包含用户ID的查询信息;
[0057]步骤6:认证数据库接收所述查询信息,从所述查询信息中获取用户ID,并根据所述用户ID查询到用户信息;
[0058]步骤7:认证数据库向认证服务器返回查询到的用户信息;
[0059]步骤8:认证服务器接收所述用户信息,根据所述用户信息和请求标识生成激活请求响应;
[0060]具体的,所述用户信息中包含有认证服务器地址。
[0061]步骤9:认证服务器向业务系统服务器返回激活请求响应;
[0062]步骤10:业务系统服务器接收所述激活请求响应,根据所述激活请求响应生成激活二维码;
[0063]具体的,业务系统服务器从接收到的激活请求响应中获取请求标识和用户信息中的认证服务器地址,然后调用二维码图片生成函数将获取的数据转换为二维码图片形式的激活二维码。
[0064]例如,根据所述reqid和所述认证服务器地址组成的数据为yunxin: //ap1-dfserv.cloudentify.com ? reqid = fasdcvxvdsafdsfzcxcsdfsdafcxz ;然后调用二维码图片生成函数将所述数据转换为激活二维码。
[0065]步骤11:业务系统服务器向客户端发送所述激活二维码;
[0066]具体的,业务系统服务器根据用户信息中包含的用户ID找到对应的邮箱,并向该邮箱发送所述激活二维码。
[0067]步骤12:客户端接收所述激活二维码并显示;
[0068]具体的,客户端通过用户接收邮件接收到所述激活二维码,并显示。
[0069]步骤13:移动终端令牌扫描客户端显示的所述激活二维码,从中获取请求标识和认证服务器地址,根据所述认证服务器地址与认证服务器建立TCP连接,根据设备标识和所述请求标识生成获取激活信息请求;
[0070]具体的,所述设备标识用于标识唯一的一台移动终端。移动终端令牌在一台移动终端上首次运行时,会为该移动终端生成一个设备标识。例如,移动终端A的设备标识为:69235789584751615933。
[0071]步骤14:移动终端令牌向认证服务器发送所述获取激活信息请求;
[0072]步骤15:认证服务器接收所述获取激活信息请求,从所述获取激活信息请求中获取设备标识和请求标识;
[0073]步骤16:认证服务器判断缓存中是否存在获取的所述请求标识,是则执行步骤19,否则执行步骤17;
[0074]本实施例中具体的,通过判断缓存中是否存在所述请求标识来判定激活二维码是否有效。
[0075]本实施例中,优选的,为了保证安全,对显示给用户的激活二维码可以设置有效时间,具体的可以通过设置reqid的有效性来确保激活二维码的有效。即认证服务器生成reqid后,将reqid保存至存缓存中,并记录服务器系统时间,若当前时间与记录的系统时间之间间隔超过预先设置的时长则将该reqid从缓存中清除。
[0076]进一步的,还可以设置为,在本步骤判断为是时,先清除缓存的请求标识,然后执行步骤19。
[0077]步骤17:认证服务器向移动终端令牌返回激活二维码已失效信息;
[0078]步骤18:移动终端令牌提示激活失败,结束。
[0079]步骤19:认证服务器获取与所述请求标识绑定的用户ID,根据所述用户ID组成令牌查询信息;
[0080]步骤20:认证服务器向认证数据库发送所述令牌查询信息;
[0081]步骤21:认证数据库接收所述令牌查询信息,根据所述令牌查询信息中包含的用户ID查找到与之对应的用户令牌信息;
[0082]步骤22:认证数据库向认证服务器返回所述用户令牌信息;
[0083]步骤23:认证服务器接收所述用户令牌信息,判断当前获取的设备标识是否存在在所述用户令牌信息中,是则执行步骤24,否则执行步骤25 ;
[0084]步骤24:认证服务器生成种子密钥,并与所述用户令牌信息中的令牌序列号关联,根据所述令牌序列号、种子密钥组成更新信息,然后执行步骤26 ;
[0085]具体的,使用随机数算法生成一个十位的随机数作为种子产生因子,然后使用PBKDF2算法产生种子密钥。
[0086]优选的,认证服务器对所述种子密钥加密,根据所述令牌序列号、加密后的种子密钥组成更新信息。
[0087]进一步的,认证服务器生成种子密钥之后执行步骤26之前还包括,
[0088]步骤24-1:认证服务器向认证数据库发送所述更新信息;
[0089]步骤24-2:认证数据库接收所述更新信息,从中获取令牌序列号和种子密钥,并用获取的所述种子密钥更新用户令牌信息中与获取的所述令牌序列号关联的种子密钥。
[0090]步骤25:认证服务器为所述设备标识生成对应的令牌序列号,生成种子密钥并与生成的所述令牌序列号关联,根据所述设备标识、令牌序列号和种子密钥组成保存信息,然后执彳丁步骤26 ;
[0091]具体的,认证服务器为所述设备标识生成对应的令牌序列号具体为,查询服务器系统中当前最大的令牌序列号,然后将其值加I作为新生成的令牌序列号。优选的,令牌序列号用10位数字表示,例如,查询到的最大的令牌序列号为1000000122,则新生成的令牌序列号为1000000123。
[0092]进一步的,认证服务器生成种子密钥之后执行步骤26之前还包括,
[0093]步骤25-1:认证服务器向认证数据库发送所述保存信息;
[0094]步骤25-2:认证数据库接收所述保存信息,从中获取设备标识、令牌序列号和种子密钥,并保存在用户令牌信息中。
[0095]步骤26:认证服务器将令牌序列号和种子密钥组成激活信息返回给移动终端令牌;
[0096]优选的,认证服务器还可以仅将令牌序列号返回给移动终端令牌。
[0097]步骤27:移动终端令牌接收所述激活信息,将所述激活信息与设备标识关联并保存,与认证服务器建立长连接;
[0098]具体的,与认证服务器建立长连接包括,移动终端令牌通过TCP与认证服务器建立连接,并设置每隔5分钟发送一次心跳包给认证服务器,用来检测连接是否正常。当连接过程中网络数据链路断开,然后网络恢复时,移动终端令牌会主动尝试与认证服务器建立连接,并在建立连接后执行步骤28。
[0099]步骤28:移动终端令牌从激活信息中获取令牌序列号,并通过网络数据链路将设备标识及其关联的令牌序列号发送给认证服务器;
[0100]步骤29:认证服务器通过所述网络数据链路接收所述设备标识及其关联的令牌序列号,并判断是否缓存有所述令牌序列号,是则执行步骤30,否则执行步骤31 ;
[0101]步骤30:认证服务器用接收到的所述设备标识更新缓存的所述令牌序列号对应的设备标识,然后执行步骤32 ;
[0102]步骤31:认证服务器将接收到的所述设备标识及其关联的令牌序列号存入缓存,然后执行步骤32 ;
[0103]步骤32:当所述网络数据链路断开时,认证服务器清除缓存中的所述设备标识及其关联的令牌序列号。
[0104]如图2所不,是本实施例提供的一种在实现了图1-1和图1-2所述流程之后,精确地向移动终端令牌推送消息的应用场景示意图,具体包括以下内容:
[0105]步骤101:客户端接收用户登录请求,从中获取用户ID和登录密码;
[0106]步骤102:客户端向业务系统服务器发送所述用户ID和登录密码;
[0107]步骤103:业务系统服务器接收所述用户ID和登录密码,并验证用户身份,若未通过验证则执行步骤104,若通过验证则执行步骤106 ;
[0108]步骤104:业务系统服务器向客户端返回表示用户身份错误的信息;
[0109]步骤105:客户端显示错误信息;结
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1