Xmpp系统访问外部数据的授权方法及通信网络的制作方法

文档序号:9527578阅读:603来源:国知局
Xmpp系统访问外部数据的授权方法及通信网络的制作方法
【技术领域】
[0001]本发明涉及移动通信领域,尤其涉及XMPP通信系统访问外部用户数据的授权方法及通信网络。
【背景技术】
[0002]XMPP(可扩展消息处理现场协议)是在XML基础上开发的用于即时通讯的协议,已经被IEIF认可为Internet标准协议(RFC3920和RFC3921)。XMPP协议作为一种公开的、标准的、安全的、适应性好而且易于扩展的即时通讯协议,其最终目标是要实现发送即时消息的人不必考虑接受对方使用的是何种即时通信软件,也就是实现异构系统间的互通。
[0003]XMPP标准系统网络结构使用XML数据流传输方式,包括XMPP客户端、XMPP服务器和XMPP网关三个基本网元,其中,XMPP客户端与XMPP服务器通过基于TCP的长连接实现数据的实时传输。各个网元的功能如下:
[0004]XMPP服务器:主要负责的是,(1)对XMPP客户端、XMPP服务器以及其他实体之间的XML流形式的连接和会话进行管理;(2)在这些实体间使用XML流对合理编址的XML节点进行路由;(3)还可以同时负责存储客户端使用的数据(比如基于XMPP协议的即时通信应用中的好友列表),在这种情况下,XML数据直接由服务器来处理,而不需要转发到其他实体。
[0005]XMPP客户端:通过XMPP流获得由XMPP服务器提供的功能。多个XMPP客户端可以同时登陆并且并发的连接到一个XMPP服务器,每个XMPP客户端通过XMPP地址的资源标识符来区分。
[0006]XMPP网关:是一个特殊用途的服务器端,主要功能是把XMPP流翻译成外部的非XMPP消息系统,并把返回的消息翻译成XMPP流。例如可以是到email、SMS(短消息)、ICQ、MSN Messenger等消息服务的网关。
[0007]假设有两个即时通讯系统:XMPP通信系统及其外部通信系统,当一个用户在这两个即时通讯系统中都开户(账户A和账户B) 了时,存在账户A通过XMPP通信系统的XMPP客户端去访问外部通信系统中账户B的用户数据(好友列表、历史信息等)的场景。现有技术都是通过XMPP通信系统的内部XMPP网关登录到外部通信系统,XMPP网关模拟外部系统客户端与外部系统服务器进行交互,并把交互消息转发回XMPP客户端。具体交互流程如下:
[0008](1)账户A通过XMPP客户端登录到XMPP通信系统;
[0009](2)账户A通过XMPP客户端向XMPP网关发起注册,注册时携带账户B的用户名和密码;
[0010](3)XMPP网关收到请求后,模拟外部系统客户端向外部通信系统发送注册消息;
[0011](4)XMPP网关向XMPP客户端返回注册结果;
[0012](5)注册成功后,XMPP客户端向XMPP网关发起登录请求,XMPP网关向向外部通信系统转发登录请求;
[0013](6)登录成功后,XMPP网关获取账户B的用户数据,随即把账户B的好友列表和历史消息转发给XMPP客户端;账户A也可通过XMPP客户端向XMPP网关发起针对账户B的注销、下线、发消息、添加好友等操作。
[0014]不同即时通讯系统间的用户及密码属于最高权限的机密,不能随意共享。然而上述现有方法需要向XMPP通信系统提供账户B的用户名和密码,由XMPP网关模拟外部系统客户端直接登录到外部通信系统,从而获取外部通信系统的用户数据。这种方式泄露了外部通信系统的用户名和密码,容易被XMPP网关所在的XMPP通信系统进行恶意操作。

【发明内容】

[0015]为了克服现有技术的缺陷,本发明提出了 XMPP通信网络访问外部用户数据的授权方法,使得XMPP网关不必获取外部系统用户的密码即可访问外部系统用户数据,该方法包括以下步骤:
[0016]a,XMPP客户端通过XMPP网关向外部通信系统发起只携带外部系统账户名的注册请求;
[0017]b,外部系统服务器接收注册请求后向用户侧发送授权管理通知,用户侧接收授权管理通知后进行授权操作,所述授权操作包括提供外部系统账户名和密码、设置外部系统账户的用户数据访问权限范围;
[0018]c,用户授权成功后,外部系统服务器通知XMPP网关注册成功并生成一个令牌分配给XMPP网关;
[0019]d,XMPP网关凭令牌及外部系统账户名登录外部通信系统,按照用户授权时设置的用户数据访问权限范围访问外部用户数据并返回给XMPP客户端。
[0020]上述步骤b中,针对只携带外部系统账户名且密码为空的注册请求,外部系统服务器可以通过XMPP网关向XMPP客户端发送授权管理通知,也可以当外部系统客户端凭所述外部系统账户名登录了外部通信系统时,向外部系统客户端发送授权管理通知,XMPP客户端/外部系统客户端接收授权管理通知后,执行授权操作。
[0021]优选的,所述授权管理通知携带授权管理界面URL。
[0022]优选的,XMPP网关成功注册后,外部系统客户端可以向外部系统服务器主动发起授权修改请求,授权修改内容包括设置外部系统账户的用户数据访问范围;外部系统服务器根据接收到的授权修改请求进行相应修改。
[0023]优选的,步骤d中,外部系统账户修改密码成功后,外部系统服务器将原来生成的令牌设置为无效,下次XMPP网关再凭此令牌登录外部通信系统将失败,外部系统服务器将提示失败原因。
[0024]本发明还提出了一种XMPP通信系统访问外部用户数据的通信网络,该通信网络包括XMPP通信系统及其外部通信系统,所述XMPP通信系统包括XMPP客户端、XMPP服务器、XMPP网关,所述外部通信系统包括外部系统客户端、外部系统服务器,其中:
[0025]XMPP客户端,用于向XMPP网关发起注册请求和登录请求,注册请求只携带外部系统账户名,接收并解析注册结果,接收到授权管理通知后发起授权请求,进行授权操作,所述授权操作包括提供外部系统账户名和密码、设置外部系统账户的用户数据访问权限范围;
[0026]XMPP服务器,用于对XMPP客户端进行XMPP消息流的连接、会话管理,以及对XML节点进行XMPP消息流的路由开发;
[0027]XMPP网关,用于向外部系统服务器发起只携带外部系统账户名的注册请求,接收并解析注册结果,使用外部系统服务器返回的令牌和外部系统账户名登录外部通信系统,并访问外部用户数据返回给XMPP客户端;
[0028]外部系统客户端,通过外部通信系统的私有协议连接到外部系统服务器,接收到授权管理通知后发起授权请求,进行授权操作;
[0029]外部系统服务器,用于对外部系统客户端进行私有协议的连接、会话管理;接收XMPP网关发起的只携带外部系统账户名的注册请求后,通过XMPP网关向XMPP客户端发送授权管理通知,或者当外部系统客户端凭所述外部系统账户名登录了外部通信系统时向外部系统客户端发送授权管理通知;用户授权成功后通知XMPP网关注册成功,生成令牌分配给XMPP网关;接收XMPP网关携带外部系统账户名以及相应令牌的登录请求,判断令牌是否有效,有效则返回登录成功响应给XMPP网关,随后按照用户授权时设置的数据访问权限范围与XMPP网关进行数据通信,无效则返回登录失败响应给XMPP网关,并提示失败原因。
[0030]优选的,外部系统账户修改密码成功后,外部系统服务器将原来生成的令牌设置为无效。
[0031]优选的,XMPP网关成功注册后,外部系统客户端向外部系统服务器主动发起授权修改请求,授权修改内容包括设置外部系统账户的用户数据访问范围,外部系统服务器根据接收到的授权修改请求进行相应修改。
[0032]相比于现有技术,本发明具有以下优点:1,采用用户授权的机制,授权操作独立于XMPP服务器和XMPP网关之外,保证XMPP通信系统在访问外部通信系统的用户数据时,用户的外部系统账户密码不被泄露,有效规避外部账户密码被本地XMPP通信系统窃取后进行恶意操作的风险;2,用户可灵活控制异构系统间访问用户数据的权限范围;3,令牌的失效管理,提高了 XMPP网关登录外部即时通信系统的安全性,防止某些XMPP网关对外部系统服务器进行恶意连接。
【附图说明】
[0033]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1