CN104754009A - 一种服务获取调用方法、装置以及客户端和服务器 - Google Patents
一种服务获取调用方法、装置以及客户端和服务器 Download PDFInfo
- Publication number
- CN104754009A CN104754009A CN201310752122.1A CN201310752122A CN104754009A CN 104754009 A CN104754009 A CN 104754009A CN 201310752122 A CN201310752122 A CN 201310752122A CN 104754009 A CN104754009 A CN 104754009A
- Authority
- CN
- China
- Prior art keywords
- service
- client
- access token
- request information
- server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种服务获取调用方法、装置以及客户端和服务器,所述服务调用方法包括:获取客户端发送的具有客户端数据的服务调用信息;根据获取的所述客户端数据生成服务访问令牌;将生成的所述服务访问令牌返回给所述客户端;接收包括所述服务访问令牌的服务请求信息;根据所述服务请求信息中的所述服务访问令牌,判断所述客户端能否调用服务,得到一判断结果;当判断结果指示所述客户端能调用服务时,向所述客户端返回的调用服务指令;通过上述操作,服务器只有在客户端的服务访问令牌验证通过后,才会向客户端返回其请求的服务,避免了非法用户对服务的调用。
Description
技术领域
本发明涉及网络通信领域,具体涉及一种服务获取调用方法、装置以及客户端和服务器。
背景技术
现有的服务调用中,程序可直接调用WEB服务,或者通过框架调用WEB服务。如.net中采用添加WEB引用的方式直接从程序中调用服务,JAVA程序中使用axis2框架调用服务。
现有技术的不足之处在于:现有服务的直接调用方式和通过框架的调用方式都不会对调用者进行身份识别,使一些非法用户也可以对服务进行调用,不能确保合法的服务调用者的利益。
发明内容
为克服上述缺陷,本发明提供一种服务获取调用方法、装置以及客户端和服务器。
第一方面,本发明实施例提供一种服务调用方法,用于服务器,所述方法包括如下步骤:
获取客户端发送的具有客户端数据的服务调用信息;
根据获取的所述客户端数据生成服务访问令牌;
将生成的所述服务访问令牌返回给所述客户端;
接收包括所述服务访问令牌的服务请求信息;
根据所述服务请求信息中的所述服务访问令牌,判断所述客户端能否调用服务,得到一判断结果;
当判断结果指示所述客户端能调用服务时,向所述客户端返回的调用服务指令。
优选地,所述根据所述服务访问令牌,判断所述客户端能否调用服务,得到一判断结果具体包括:
根据接收到的包括所述服务访问令牌的服务请求信息,发送具有所述服务访问令牌的请求验证信息;
根据所述请求验证信息对所述客户端进行身份验证;
当验证通过时,判断所述客户端所调用的服务是否为所述客户端预先订阅的服务,得到一判断结果。
优选地,在所述接收包括所述服务访问令牌的服务请求信息中:
所述服务请求信息的发送方包括:所述客户端或者所述客户端所调用的服务。
优选地,当所述服务请求信息的发送方为客户端时,所述服务器通过企业服务总线接收所述服务请求信息,并向所述客户端返回调用服务指令。
第二方面,本发明实施例提供一种服务获取方法,用于客户端,所述方法包括如下步骤:
向服务器发送具有客户端数据的服务调用信息;
接收所述服务器返回的服务访问令牌;
发送包括所述服务访问令牌的服务请求信息,使所述服务器根据所述服务访问令牌对所述客户端能否调用服务进行判断;
接收所述服务器返回的调用服务指令。
优选地,在所述发送包括所述服务访问令牌的服务请求信息中:
所述服务请求信息的接收方包括:所述服务器或者所述客户端所调用的服务。
优选地,当所述服务请求信息的接收方为所述服务器时,所述客户端通过企业服务总线发送所述服务请求信息,并接收所述客户端返回的调用服务指令。
第三方面,本发明实施例提供一种服务调用装置,用于服务器,所述装置包括:
获取模块,用于获取客户端发送的具有客户端数据的服务调用信息;
处理模块,用于根据获取的所述客户端数据生成服务访问令牌;
第一返回模块,用于将生成的所述服务访问令牌返回给所述客户端;
第一接收模块,用于接收包括所述服务访问令牌的服务请求信息;
判断模块,用于根据所述服务请求信息中的所述服务访问令牌,判断所述客户端能否调用服务,得到一判断结果;
第二返回模块,用于当判断结果指示所述客户端能调用服务时,向所述客户端返回的调用服务指令。
优选地,所述判断模块具体用于:
根据接收到的包括所述服务访问令牌的服务请求信息,发送具有所述服务访问令牌的请求验证信息;
根据所述请求验证信息对所述客户端进行身份验证;
当验证通过时,判断所述客户端所调用的服务是否为所述客户端预先订阅的服务,得到一判断结果。
优选地,在所述第一接收模块中:
所述服务请求信息的发送方包括:所述客户端或者所述客户端所调用的服务。
优选地,当所述服务请求信息的发送方为客户端时,所述服务器通过企业服务总线接收所述服务请求信息,并向所述客户端返回调用服务指令。
第四方面,本发明实施例提供一种服务获取装置,用于客户端,所述装置包括:
第一发送模块,用于向服务器发送具有客户端数据的服务调用信息;
第二接收模块,用于接收所述服务器返回的服务访问令牌;
第二发送模块,用于发送包括所述服务访问令牌的服务请求信息,使所述服务器根据所述服务访问令牌对所述客户端能否调用服务进行判断;
第三接收模块,用于接收所述服务器返回的调用服务指令。
优选地,在所述发送模块中:
所述服务请求信息的接收方包括:所述服务器或者所述客户端所调用的服务。
优选地,当所述服务请求信息的接收方为所述服务器时,所述客户端通过企业服务总线发送所述服务请求信息,并接收所述客户端返回的调用服务指令。
第五方面,本发明实施例提供一种服务器,所述服务器包括上述的服务调用装置。
第六方面,本发明实施例提供一种客户端,所述客户端包括上述的服务获取装置。
本发明实施例提供的服务获取调用方法、装置以及客户端和服务器,通过为客户端生成用于身份验证的服务访问令牌,使服务器通过服务访问令牌对客户端的合法性进行验证,服务器只有在客户端的服务访问令牌验证通过后,才会向客户端返回其请求的服务,避免了非法用户对服务的调用,确保了合法的服务调用者的利益。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1表示服务调用方法的实施例流程图。
图2表示服务调用方法的半代理模式流程图。
图3表示服务获取方法的实施例流程图。
图4表示全代理模式下应用对本地服务调用的流程图。
图5表示全代理模式下应用接入地与服务接入地同省的服务调用流程图。
图6表示全代理模式下应用接入地与服务接入地不同省的服务调用流程图。
图7表示半代理模式下应用对本地服务调用的流程图。
图8表示半代理模式下应用接入地与服务接入地同省的服务调用流程图。
图9表示半代理模式下应用接入地与服务接入地不同省的服务调用流程图。
图10表示服务调用装置的示意图。
图11表示服务获取装置的示意图。
具体实施方式
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
一种服务调用方法的流程如图1所示,所述方法用于服务器,所述方法包括如下步骤:
步骤100.获取客户端发送的具有客户端数据的服务调用信息;
步骤101.根据获取的所述客户端数据生成服务访问令牌;
步骤102.将生成的所述服务访问令牌返回给所述客户端;
步骤103.接收包括所述服务访问令牌的服务请求信息;
步骤104.根据所述服务请求信息中的所述服务访问令牌,判断所述客户端能否调用服务,得到一判断结果;
步骤105.当判断结果指示所述客户端能调用服务时,向所述客户端返回的调用服务指令。
其中,所述客户端数据可以是任何可以标识客户端的数据。
通过上述操作,通过为客户端生成用于身份验证的服务访问令牌,使服务器通过服务访问令牌对客户端的合法性进行验证,服务器只有在客户端合法的情况下,才会向客户端返回其请求的服务,避免了非法用户对服务的调用,确保了合法的服务调用者的利益。
本实施例提供的服务获取调用方法,可以应用于各种获取网络服务的场合。所述客户端包括但不限于:台式机和移动终端等。
具体地,所述根据所述服务访问令牌,判断所述客户端能否调用服务,得到一判断结果具体包括:
根据接收到的所述服务请求信息中包括的所述服务访问令牌,发送具有所述服务访问令牌的请求验证信息;
根据所述请求验证信息对所述客户端进行身份验证;
当验证通过时,判断所述客户端所调用的服务是否为所述客户端预先订阅的服务,得到一判断结果。
通过上述操作,在对所述客户端进行身份验证后,又对所述客户端与所调用的服务是否存在订阅关系进行判断,双重方式保证客户端服务调用的合法性,进一步避免了非法用户对服务的调用。
现有的获取网络服务的场合中,客户端一般是通过企业服务总线(ESB)的方式去调用服务,若在某一时间段内有多个客户端都通过ESB进行服务调用,那么会存在高并发量下,会导致ESB负载过大而导致性能降低的问题。
在本实施例中,通过所述服务请求信息的发送方的不同对客户端对服务的调用方式加以区别。
在所述接收包括所述服务访问令牌的服务请求信息中:
所述服务请求信息的发送方包括:客户端或者客户端所调用的服务。
进一步地,当所述服务请求信息的发送方为客户端时,所述服务器通过企业服务总接收所述服务请求信息,并向所述客户端返回调用服务指令。
上述操作调用服务的方式被称作全代理模式。
通过上述操作,客户端通过全代理模式的方式对服务进行调用,可以用于高度安全,需要对流量进行计费,或是对Qos有相关要求的地方。
除了全代理模式外,客户端还可通过半代理模式对服务进行调用。
在半代理模式中,客户端可以直接访问所调用的服务,该所调用的服务在接到所述客户端携带的客户端数据后,向服务器发送包括所述服务访问令牌的服务请求信息。
半代理模式可以用在对安全性没有那么高要求的应用环境下。
下面对全代理模式和半代理模式做进一步说明。
全代理模式:
在全代理模式的服务调用过程中,客户端不能直接访问所要调用的服务,只能通过服务器完成客户端的身份认证,以及服务器断定所述客户端所调用的服务是所述客户端预先订阅的服务后,将所述服务返回给客户端,而且整个服务的调用和返回过程通过企业服务总线完成。
具体地,对所述全代理模式作如下说明:
所述根据所述服务访问令牌对所述客户端进行身份验证,判断所述客户端能否调用服务,得到一判断结果具体包括:
根据接收到的服务请求信息,发送具有所述客户端服务访问令牌的请求验证信息;
根据所述请求验证信息对所述客户端进行身份验证,得到一验证结果;
若验证结果指示所述客户端能够调用服务时,判断所述客户端所调用的服务是否为所述客户端预先订阅的服务,得到一判断结果。
进一步地,通过企业服务总线完成服务的调用和返回过程。
基于上述的描述,客户端通过全代理模式的方式对服务进行调用,可以用于高度安全,需要对流量进行计费,或是对Qos有相关要求的地方。
半代理模式:
在半代理模式的服务调用过程中,客户端可以直接访问所要调用的服务,服务可以请求服务器对客户端进行身份认证,在服务器完成客户端的身份认证后将结果返回给服务,服务继续请求服务器判断所述客户端是否有资格调用服务,在得到服务器肯定的答案后向客户端返回服务。
对所述半代理模式作如下说明:
在半代理模式中,服务调用方法的流程如图2所示,所述方法包括如下步骤:
步骤200.获取客户端发送的具有所述客户端数据的所述服务调用信息;
步骤201.根据获取的所述客户端数据生成服务访问令牌;
步骤202.将生成的所述服务访问令牌返回给所述客户端;
步骤203.接收客户端所调用的服务发出的具有所述服务访问令牌的验证信息;
步骤204.根据所述服务请求信息中的所述服务访问令牌,判断所述客户端能否调用服务,得到一判断结果;
步骤205.当判断结果指示所述客户端能调用服务时,向所述客户端返回的调用服务指令。
进一步地,所述根据所述服务访问令牌对所述客户端进行身份验证,判断所述客户端能否调用服务,得到一判断结果还具体包括:
根据接收到的验证信息,发送具有所述客户端服务访问令牌的请求验证信息;
根据所述请求验证信息对所述客户端能否调用服务进行身份认证,得到一验证结果;
将验证结果反馈给客户端所调用的服务;
若验证结果指示所述客户端能够调用服务时,则该所调用的服务请求对所述客户端是否预先订阅了所述服务进行判断,得到一判断结果。
基于上述的描述,客户端通过半代理模式的方式对服务进行调用,只有服务在验证客户端身份的时候才会通过ESB向服务器发出请求,而客户端对服务的访问以及向客户端返回服务的时候都不会通过ESB。所以半代理模式适用于对安全性有一定要求,但是不要求对服务有任何控制的场景。
通过上面的描述,根据目标服务和业务需求进行服务的调用,实现根据服务请求的类型来匹配相关的安全控制程度和资源支撑程度,以达到降低ESB负载的目的。
一种服务获取方法的流程如图3所示,所述方法用于客户端,所述方法包括如下步骤:
步骤300.向服务器发送具有客户端数据的服务调用信息;
步骤301.接收所述服务器返回的服务访问令牌;
步骤302.发送包括所述服务访问令牌的服务请求信息,使所述服务器根据所述服务访问令牌对所述客户端能否调用服务进行判断;
步骤303.接收所述服务器返回的调用服务指令。
通过发送包括所述服务访问令牌的服务请求信息给所述服务器,使所述服务器根据所述服务访问令牌对客户端的合法性进行验证,服务器只有在客户端的服务访问令牌验证通过后,才会向客户端返回其请求的服务,避免了非法用户对服务的调用,确保了合法的服务调用者的利益。
与服务器对应的,客户端会根据不同情况选择全代理模式或者半代理模式对服务进行调用。
在本实施例中,在所述发送包括所述服务访问令牌的服务请求信息中:
所述服务请求信息的接收方包括:所述服务器或者所述客户端所调用的服务。
当所述服务请求信息的接收方为所述服务器时,所述客户端通过企业服务总线发送所述服务请求信息,并接收所述客户端返回的调用服务指令。
通过上述操作,通过上面的描述,客户端可以根据目标服务和业务需求进行服务的调用,实现根据服务请求的类型来匹配相关的安全控制程度和资源支撑程度,以达到降低ESB负载的目的。
通过以下实施例对服务调用方法作进一步描述。
全代理模式下对本地服务的调用流程如图4所示,所述方法包括:
a.用户通过门户使用应用,应用根据应用逻辑使用服务;
b.应用对APPID、APPKEY、Timestamp进行sha1运算;
具体地,步骤b包括如下步骤:
运算结果和APPID作为参数传给省平台运营管理子系统接入模块;
接入模块将参数传递到运营管理子系统鉴权模块,申请获取服务访问令牌AccessToken;
鉴权模块对传入参数进行认证,认证通过后向接入模块返回AccessToken;
接入模块将AccessToken返回给应用系统;
c.应用携带AccessToken访问省平台的服务接入模块;
具体地,省平台的服务接入模块申请省平台运营管理子系统鉴权模块验证AccessToken;
验证通过后,省平台的服务接入模块申请服务鉴权模块对APPID与EAID的订阅关系进行鉴权;
d.APPID与EAID的订阅关系鉴权通过之后,省服务子系统的接入模块向服务平台发起服务调用请求,服务平台将服务调用结果返回到省服务子系统的接入模块;
e.省服务子系统的接入模块将服务调用结果返回到应用平台;
f.应用平台向用户展示应用信息。
具体地,APPID:应用的唯一标识,应用注册申请的过程中,由归属省的省平台运营管理子系统进行分配。
APPKEY:应用密钥,由合作伙伴归属的无线城市省平台运营管理子系统统一生成和管理。
APPID:编码规则,由“AP”+接入区域编码(6位,参照国家统计局行政区划代码),+序列号(12位,从000000000000开始顺序增加)组成,合计18位。
APPKEY的编码规则如下:不重复的随机数,使用APPID+YYYYMMDDHHMI+random做MD5实现。
EAID:无线城市服务的唯一标识,当一个服务在无线城市申请上线的时候,无线城市省平台的服务子系统为其生成EAID。
EAID编码规则:由“EA”+接入区域编码(6位,参照国家统计局行政区划代码,采用各地市身份编码规则,例如北京东城区的省编码为:110101)+序列号(6位,从000000开始顺序增加)组成,合计14位。
应用如果订阅了服务,会在APPID与EAID之间形成相关的订阅关系。
Timestamp:应用系统目前的时间戳信息,由应用方自行获取。在应用获取Accesstoken的过程中,会通过接口同步给应用接入省的管理子系统,以Timestamp作为服务调用的有效时间范围。
AccessToken:服务访问令牌,由接入省的运营管理子系统根据应用传递过来的参数(APPID、APPKEY、Timestamp进行sha1得到的结果)和APPID一起进行签名生成,用于服务调用时候服务提供省的鉴权。
通过以下实施例对全代理模式下对本地服务的调用流程作进一步描述。
1.用户的客户端通过门户点击“务工易”应用链接,查询求职信息;
2.应用为即将发起的服务调用生成作为客户端数据的如下参数:APPID,APPKEY和TIMESTAMP;
以广州为例其取值为:
APPID:AP440100000000000001
APPKEY:a02300ddae5c8108fff3e899421cfae9
Timestamp:20131125052311
3.客户端发起对应用归属省平台运营管理子系统的请求,请求报文中携带APPID,APPKEY和TIMESTAMP。
4.应用归属省平台运营管理子系统接入模块将参数传递到运营管理子系统鉴权模块,申请获取服务访问的AccessToken;
应用归属省平台运营管理子系统的鉴权模块对传入参数进行认证,认证通过后向接入模块返回AccessToken;
接入模块将AccessToken返回给客户端;
AccessToken为64位字符串,就本次调用示例而言,其取值为:7051941075514934908578282530564784606071967432134487128585158613
5.客户端获得接入模块所返回的AccessToken,随后向服务归属省平台服务子系统接入模块发起请求;
6.省平台的服务接入模块申请省平台运营管理子系统鉴权模块验证AccessToken;
验证通过后,省平台的服务接入模块申请服务鉴权模块对APPID与EAID的订阅关系进行鉴权;
就本次调用而言,EAID取值为:EA440100000000000001
7.APPID与EAID的订阅关系鉴权通过之后,省服务子系统的接入模块向服务平台发起服务调用请求,服务平台将服务调用结果返回到省服务子系统的接入模块;
8.省服务子系统的接入模块将服务调用结果返回到客户端;
9.客户端向用户展示“务工易”返回的求职信息查询结果。
全代理模式下应用接入地与服务接入地同省的服务调用流程如图5所示,所述方法包括:
a.用户通过门户使用应用,应用根据应用逻辑使用服务;
b.应用对APPID、APPKEY、Timestamp进行sha1运算;
具体地,步骤b包括如下步骤:
运算结果和APPID作为参数传给省平台运营管理子系统接入模块;
接入模块将参数传递到运营管理子系统鉴权模块,申请获取服务访问AccessToken;
鉴权模块对传入参数进行认证,认证通过后向接入模块返回AccessToken;
接入模块将AccessToken返回给应用系统;
c.应用携带AccessToken访问省平台的服务接入模块;
d.省平台的服务接入模块申请省平台运营管理子系统鉴权模块验证AccessToken;验证通过后,省平台的服务接入模块申请服务鉴权模块对APPID与EAID的订阅关系进行鉴权;
e.APPID与EAID的订阅关系鉴权通过之后,省服务子系统的接入模块向服务平台发起服务调用请求,服务平台将服务调用结果返回到省服务子系统的接入模块;
f.省服务子系统的接入模块将服务调用结果返回到应用平台;
g.应用平台向用户展示应用信息。
全代理模式下应用接入地与服务接入地不同省的服务调用流程如图6所示。
a.用户通过门户使用应用,应用根据应用逻辑使用服务;
b.应用对APPID、APPKEY、Timestamp进行sha1运算;
具体地,步骤b包括如下步骤:
运算结果和APPID作为参数传给应用接入省运营管理子系统接入模块;
接入模块将参数传递到运营管理子系统鉴权模块,申请获取服务访问AccessToken;
鉴权模块对传入参数进行认证,认证通过后向接入模块返回AccessToken;
接入模块将AccessToken返回给应用系统;
c.A省应用系统携带AccessToken访问服务接入省平台的服务接入模块;
具体地,步骤c包括如下步骤:
服务接入省平台的服务接入模块申请应用接入省平台运营管理子系统鉴权模块验证AccessToken;
验证通过后,服务接入省平台的服务接入模块申请服务接入省平台的服务鉴权模块对APPID与EAID的订阅关系进行鉴权;
d.APPID与EAID的订阅关系鉴权通过之后,服务接入省平台的接入模块向服务平台发起服务调用请求,服务平台将服务调用结果返回到服务接入省平台服务子系统的接入模块;
e.服务接入省平台服务子系统的接入模块将服务调用结果返回到应用平台;
f.应用平台向用户展示应用信息。
半代理模式下应用对本地服务调用的流程如图7所示,所述方法包括如下步骤:
a.用户通过门户使用应用,应用根据应用逻辑使用服务;
b.应用对APPID、APPKEY、Timestamp进行sha1运算;
具体地,所述步骤b包括:
运算结果和APPID作为参数传给省平台运营管理子系统接入模块;
接入模块将参数传递到运营管理子系统鉴权模块,申请获取服务访问AccessToken;
鉴权模块对传入参数进行认证,认证通过后向接入模块返回AccessToken;
接入模块将AccessToken返回给应用系统;
c.应用系统携带AccessToken访问服务平台;
d.服务平台向省平台服务子系统的服务接入模块申请验证AccessToken;
具体地,所述步骤d包括:
省平台服务子系统的服务接入模块向运营管理子系统鉴权模块申请验证AccessToken;
AccessToken验证结果返回到服务平台;
e.服务平台验证通过后,省平台的服务接入模块申请服务鉴权模块对APPID与EAID的订阅关系进行鉴权;
具体地,所述步骤e包括:
服务平台向省平台服务子系统的服务接入模块申请验证APPID与EAID的鉴权关系;
省服务子系统的接入模块向鉴权模块发起鉴权请求;
鉴权结果返回到服务平台;
f.服务平台将服务结果返回到应用平台;
g.应用平台向用户展示应用信息。
半代理模式下应用接入地与服务接入地同省的服务调用流程如图8所示,所述方法包括如下步骤:
a.用户通过门户使用应用,应用根据应用逻辑使用服务;
b.应用对APPID、APPKEY、Timestamp进行sha1运算;
具体地,所述步骤b包括:
运算结果和APPID作为参数传给省平台运营管理子系统接入模块;
接入模块将参数传递到运营管理子系统鉴权模块,申请获取服务访问AccessToken;
鉴权模块对传入参数进行认证,认证通过后向接入模块返回AccessToken;
接入模块将AccessToken返回给应用系统;
c.应用系统携带AccessToken访问服务平台;
d.服务平台向省平台服务子系统的服务接入模块申请验证AccessToken;
省平台服务子系统的服务接入模块向运营管理子系统鉴权模块申请验证AccessToken;
具体地,所述步骤d包括:
AccessToken验证结果返回到服务平台;
服务平台验证通过后,省平台的服务接入模块申请服务鉴权模块对APPID与EAID的订阅关系进行鉴权;
e.服务平台向省平台服务子系统的服务接入模块申请验证APPID与EAID的鉴权关系;
具体地,所述步骤e包括:
省服务子系统的接入模块向鉴权模块发起鉴权请求;
鉴权结果返回到服务平台;
f.服务平台将服务结果返回到应用平台;
g.应用平台向用户展示应用信息。
半代理模式下应用接入地与服务接入地不同省的服务调用流程如图9所示,所述方法包括:
a.用户通过门户使用应用,应用根据应用逻辑使用服务;
b.应用对APPID、APPKEY、Timestamp进行sha1运算;
具体地,所述步骤b包括:
运算结果和APPID作为参数传给应用接入省平台运营管理子系统接入模块;
接入模块将参数传递到运营管理子系统鉴权模块,申请获取服务访问AccessToken;
鉴权模块对传入参数进行认证,认证通过后向接入模块返回AccessToken;
接入模块将AccessToken返回给应用系统;
c.A省应用系统携带AccessToken访问B省服务平台;
d.服务平台向服务接入省平台(B省)服务子系统的服务接入模块申请验证AccessToken;
具体地,所述步骤d包括:
服务接入省平台服务子系统的服务接入模块向应用接入省运营管理子系统鉴权模块申请验证AccessToken;
AccessToken验证结果返回到服务平台;
e.服务平台向服务接入省平台(B省)服务子系统的服务接入模块申请验证APPID与EAID的鉴权关系;
具体地,所述步骤e包括:
接入模块向鉴权模块发起鉴权请求;
鉴权结果返回到服务平台;
f.服务平台将服务结果返回到应用平台;
g.应用平台向用户展示应用信息。
通过上述实施例对服务获取调用方法的描述,本发明实施例提出的服务获取调用方法,通过为客户端生成用于身份验证的服务访问令牌,使服务器通过服务访问令牌对客户端的合法性进行验证,服务器只有在客户端的服务访问令牌验证通过后,才会向客户端返回其请求的服务,避免了非法用户对服务的调用,确保了合法的服务调用者的利益。
一种服务调用装置的示意图如图10所示,用于服务器,所述装置包括:
获取模块10,用于获取客户端发送的具有客户端数据的服务调用信息;
处理模块20,用于根据获取的所述客户端数据生成服务访问令牌;
第一返回模块30,用于将生成的所述服务访问令牌返回给所述客户端;
第一接收模块40,用于接收包括所述服务访问令牌的服务请求信息;
判断模块50,用于根据所述服务请求信息中的所述服务访问令牌,判断所述客户端能否调用服务,得到一判断结果;
第二返回模块60,用于当判断结果指示所述客户端能调用服务时,向所述客户端返回的调用服务指令。
进一步地,所述判断模块50具体用于:
根据接收到的包括所述服务访问令牌的服务请求信息,发送具有所述服务访问令牌的请求验证信息;
根据所述请求验证信息对所述客户端进行身份验证;
当验证通过时,判断所述客户端所调用的服务是否为所述客户端预先订阅的服务,得到一判断结果。
进一步地,在所述第一接收模块40中:
所述服务请求信息的发送方包括:所述客户端或者所述客户端所调用的服务。
具体地,当所述服务请求信息的发送方为客户端时,所述服务器通过企业服务总线接收所述服务请求信息,并向所述客户端返回调用服务指令。
本实施例中提供的服务调用装置的功能和处理流程,可以参见上面提供的服务调用方法的实施例的流程,此处不再赘述。
一种服务获取装置的示意图如图11所示,用于客户端,所述装置包括:
第一发送模块70,用于向服务器发送具有客户端数据的服务调用信息;
第二接收模块71,用于接收所述服务器返回的服务访问令牌;
第二发送模块72,用于发送包括所述服务访问令牌的服务请求信息,使所述服务器根据所述服务访问令牌对所述客户端能否调用服务进行判断;
第三接收模块73,用于接收所述服务器返回的调用服务指令。
进一步地,在所述第二发送模块72中:
所述服务请求信息的接收方包括:所述服务器或者所述客户端所调用的服务。
具体地,当所述服务请求信息的接收方为所述服务器时,所述客户端通过企业服务总线发送所述服务请求信息,并接收所述客户端返回的调用服务指令。本实施例中提供的服务获取装置的功能和处理流程,可以参见上面提供的服务获取方法的实施例的流程,此处不再赘述。
一种服务器,包括上述实施例的服务调用装置。
一种客户端,包括上述实施例的服务获取装置。
本实施例中提供的服务器和客户端的功能和处理流程,可以参见上面提供的服务调用获取方法的实施例的流程,此处不再赘述。
通过上述描述,本实施例提出的服务获取调用装置以及服务器、客户端,通过为客户端生成用于身份验证的服务访问令牌,使服务器通过服务访问令牌对客户端的合法性进行验证,服务器只有在客户端的服务访问令牌验证通过后,才会向客户端返回其请求的服务,避免了非法用户对服务的调用,确保了合法的服务调用者的利益。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (16)
1.一种服务调用方法,用于服务器,其特征在于,所述方法包括如下步骤:
获取客户端发送的具有客户端数据的服务调用信息;
根据获取的所述客户端数据生成服务访问令牌;
将生成的所述服务访问令牌返回给所述客户端;
接收包括所述服务访问令牌的服务请求信息;
根据所述服务请求信息中的所述服务访问令牌,判断所述客户端能否调用服务,得到一判断结果;
当判断结果指示所述客户端能调用服务时,向所述客户端返回的调用服务指令。
2.根据权利要求1所述的方法,其特征在于,所述根据所述服务访问令牌,判断所述客户端能否调用服务,得到一判断结果具体包括:
根据接收到的包括所述服务访问令牌的服务请求信息,发送具有所述服务访问令牌的请求验证信息;
根据所述请求验证信息对所述客户端进行身份验证;
当验证通过时,判断所述客户端所调用的服务是否为所述客户端预先订阅的服务,得到一判断结果。
3.根据权利要求1所述的方法,其特征在于,在所述接收包括所述服务访问令牌的服务请求信息中:
所述服务请求信息的发送方包括:所述客户端或者所述客户端所调用的服务。
4.根据权利要求3所述的方法,其特征在于,当所述服务请求信息的发送方为客户端时,所述服务器通过企业服务总线接收所述服务请求信息,并向所述客户端返回调用服务指令。
5.一种服务获取方法,用于客户端,其特征在于,所述方法包括如下步骤:
向服务器发送具有客户端数据的服务调用信息;
接收所述服务器返回的服务访问令牌;
发送包括所述服务访问令牌的服务请求信息,使所述服务器根据所述服务访问令牌对所述客户端能否调用服务进行判断;
接收所述服务器返回的调用服务指令。
6.根据权利要求5所述的方法,其特征在于,在所述发送包括所述服务访问令牌的服务请求信息中:
所述服务请求信息的接收方包括:所述服务器或者所述客户端所调用的服务。
7.根据权利要求6所述的方法,其特征在于,当所述服务请求信息的接收方为所述服务器时,所述客户端通过企业服务总线发送所述服务请求信息,并接收所述客户端返回的调用服务指令。
8.一种服务调用装置,用于服务器,其特征在于,所述装置包括:
获取模块,用于获取客户端发送的具有客户端数据的服务调用信息;
处理模块,用于根据获取的所述客户端数据生成服务访问令牌;
第一返回模块,用于将生成的所述服务访问令牌返回给所述客户端;
第一接收模块,用于接收包括所述服务访问令牌的服务请求信息;
判断模块,用于根据所述服务请求信息中的所述服务访问令牌,判断所述客户端能否调用服务,得到一判断结果;
第二返回模块,用于当判断结果指示所述客户端能调用服务时,向所述客户端返回的调用服务指令。
9.根据权利要求8所述的装置,其特征在于,所述判断模块具体用于:
根据接收到的包括所述服务访问令牌的服务请求信息,发送具有所述服务访问令牌的请求验证信息;
根据所述请求验证信息对所述客户端进行身份验证;
当验证通过时,判断所述客户端所调用的服务是否为所述客户端预先订阅的服务,得到一判断结果。
10.根据权利要求8所述的装置,其特征在于,在所述第一接收模块中:
所述服务请求信息的发送方包括:所述客户端或者所述客户端所调用的服务。
11.根据权利要求10所述的装置,其特征在于,当所述服务请求信息的发送方为客户端时,所述服务器通过企业服务总线接收所述服务请求信息,并向所述客户端返回调用服务指令。
12.一种服务获取装置,用于客户端,其特征在于,所述装置包括:
第一发送模块,用于向服务器发送具有客户端数据的服务调用信息;
第二接收模块,用于接收所述服务器返回的服务访问令牌;
第二发送模块,用于发送包括所述服务访问令牌的服务请求信息,使所述服务器根据所述服务访问令牌对所述客户端能否调用服务进行判断;
第三接收模块,用于接收所述服务器返回的调用服务指令。
13.根据权利要求12所述的装置,其特征在于,在所述发送模块中:
所述服务请求信息的接收方包括:所述服务器或者所述客户端所调用的服务。
14.根据权利要求13所述的装置,其特征在于,当所述服务请求信息的接收方为所述服务器时,所述客户端通过企业服务总线发送所述服务请求信息,并接收所述客户端返回的调用服务指令。
15.一种服务器,其特征在于,所述服务器包括权利要求8-11任一项所述的服务调用装置。
16.一种客户端,其特征在于,其特征在于,所述客户端包括权利要求12-14任一项所述的服务获取装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310752122.1A CN104754009A (zh) | 2013-12-31 | 2013-12-31 | 一种服务获取调用方法、装置以及客户端和服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310752122.1A CN104754009A (zh) | 2013-12-31 | 2013-12-31 | 一种服务获取调用方法、装置以及客户端和服务器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104754009A true CN104754009A (zh) | 2015-07-01 |
Family
ID=53593103
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310752122.1A Pending CN104754009A (zh) | 2013-12-31 | 2013-12-31 | 一种服务获取调用方法、装置以及客户端和服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104754009A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106357799A (zh) * | 2016-10-20 | 2017-01-25 | 杭州东方通信软件技术有限公司 | 服务总线中间件系统及其调用方法 |
CN107124431A (zh) * | 2017-06-22 | 2017-09-01 | 浙江数链科技有限公司 | 鉴权方法、装置、计算机可读存储介质和鉴权系统 |
CN107342971A (zh) * | 2016-05-03 | 2017-11-10 | 北京京东尚科信息技术有限公司 | 服务调用方法和装置 |
CN107465644A (zh) * | 2016-06-03 | 2017-12-12 | 中兴通讯股份有限公司 | 数据传输方法、数据传送客户端及数据传送执行器 |
CN108243188A (zh) * | 2017-12-29 | 2018-07-03 | 中链科技有限公司 | 一种接口访问、接口调用和接口验证处理方法及装置 |
CN108989420A (zh) * | 2018-07-12 | 2018-12-11 | 上海携程商务有限公司 | 注册服务的方法及系统、调用服务的方法及系统 |
CN109995733A (zh) * | 2017-12-30 | 2019-07-09 | 中国移动通信集团辽宁有限公司 | 能力服务开放方法、装置、系统、设备及介质 |
CN109995833A (zh) * | 2017-12-29 | 2019-07-09 | 顺丰科技有限公司 | 语音服务提供方法、服务器、客户端、系统、设备及介质 |
CN110493239A (zh) * | 2019-08-26 | 2019-11-22 | 京东数字科技控股有限公司 | 鉴权的方法和装置 |
CN110809011A (zh) * | 2020-01-08 | 2020-02-18 | 医渡云(北京)技术有限公司 | 访问控制方法及系统、存储介质 |
CN117493218A (zh) * | 2023-12-27 | 2024-02-02 | 南京翼辉信息技术有限公司 | 一种基于vsoa的测试系统及测试方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102739405A (zh) * | 2012-07-06 | 2012-10-17 | 深圳市远行科技有限公司 | 一种面向服务架构服务消费者的认证方法 |
US8522314B1 (en) * | 2012-07-24 | 2013-08-27 | Google Inc. | VoIP phone authentication |
-
2013
- 2013-12-31 CN CN201310752122.1A patent/CN104754009A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102739405A (zh) * | 2012-07-06 | 2012-10-17 | 深圳市远行科技有限公司 | 一种面向服务架构服务消费者的认证方法 |
US8522314B1 (en) * | 2012-07-24 | 2013-08-27 | Google Inc. | VoIP phone authentication |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107342971A (zh) * | 2016-05-03 | 2017-11-10 | 北京京东尚科信息技术有限公司 | 服务调用方法和装置 |
CN107465644A (zh) * | 2016-06-03 | 2017-12-12 | 中兴通讯股份有限公司 | 数据传输方法、数据传送客户端及数据传送执行器 |
CN107465644B (zh) * | 2016-06-03 | 2021-02-23 | 中兴通讯股份有限公司 | 数据传输方法、数据传送客户端及数据传送执行器 |
CN106357799B (zh) * | 2016-10-20 | 2020-03-27 | 杭州东方通信软件技术有限公司 | 服务总线中间件系统及其调用方法 |
CN106357799A (zh) * | 2016-10-20 | 2017-01-25 | 杭州东方通信软件技术有限公司 | 服务总线中间件系统及其调用方法 |
CN107124431A (zh) * | 2017-06-22 | 2017-09-01 | 浙江数链科技有限公司 | 鉴权方法、装置、计算机可读存储介质和鉴权系统 |
CN108243188A (zh) * | 2017-12-29 | 2018-07-03 | 中链科技有限公司 | 一种接口访问、接口调用和接口验证处理方法及装置 |
CN109995833A (zh) * | 2017-12-29 | 2019-07-09 | 顺丰科技有限公司 | 语音服务提供方法、服务器、客户端、系统、设备及介质 |
CN109995733A (zh) * | 2017-12-30 | 2019-07-09 | 中国移动通信集团辽宁有限公司 | 能力服务开放方法、装置、系统、设备及介质 |
CN108989420A (zh) * | 2018-07-12 | 2018-12-11 | 上海携程商务有限公司 | 注册服务的方法及系统、调用服务的方法及系统 |
CN108989420B (zh) * | 2018-07-12 | 2021-08-13 | 上海携程商务有限公司 | 注册服务的方法及系统、调用服务的方法及系统 |
CN110493239A (zh) * | 2019-08-26 | 2019-11-22 | 京东数字科技控股有限公司 | 鉴权的方法和装置 |
CN110809011A (zh) * | 2020-01-08 | 2020-02-18 | 医渡云(北京)技术有限公司 | 访问控制方法及系统、存储介质 |
CN110809011B (zh) * | 2020-01-08 | 2020-06-19 | 医渡云(北京)技术有限公司 | 访问控制方法及系统、存储介质 |
CN117493218A (zh) * | 2023-12-27 | 2024-02-02 | 南京翼辉信息技术有限公司 | 一种基于vsoa的测试系统及测试方法 |
CN117493218B (zh) * | 2023-12-27 | 2024-03-22 | 南京翼辉信息技术有限公司 | 一种基于vsoa的测试系统及测试方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104754009A (zh) | 一种服务获取调用方法、装置以及客户端和服务器 | |
EP3484125B1 (en) | Method and device for scheduling interface of hybrid cloud | |
CN102394887B (zh) | 基于OAuth协议的开放平台安全认证方法和系统 | |
CN103139200B (zh) | 一种Web service单点登录的方法 | |
CN110278187B (zh) | 多终端单点登录方法、系统、同步服务器及介质 | |
TWI678909B (zh) | 安全認證方法、裝置及系統 | |
US9258172B2 (en) | Calling an unready terminal | |
WO2012081404A1 (ja) | 認証システム、認証サーバ、サービス提供サーバ、認証方法、及びコンピュータ読み取り可能な記録媒体 | |
CN103179099B (zh) | 一种接入开放网站平台的统一认证方法和一种网站平台 | |
CN112612629A (zh) | 一种组件式的数据接口实现方法与系统 | |
CN102984169A (zh) | 单点登录方法、设备及系统 | |
CN111338906B (zh) | 终端设备、边缘节点及基于区块链的应用监管方法和系统 | |
CN104917766A (zh) | 一种二维码安全认证方法 | |
CN110247758B (zh) | 密码管理的方法、装置及密码管理器 | |
CN104168304A (zh) | Vdi环境下的单点登录系统及方法 | |
CN109150800A (zh) | 一种登录访问方法、系统和存储介质 | |
CN110737884A (zh) | 一种跨平台的终端授权管理方法及系统 | |
US20130244622A1 (en) | Method and System for Transferring Mobile Device Contact Information | |
CN111108736B (zh) | 用于计算设备的自动地址故障切换的方法和系统 | |
WO2024146285A1 (zh) | 一种基于区块链的数据处理方法、设备以及可读存储介质 | |
CN107566396A (zh) | 一种基于动态口令增强服务器vpn协议安全的方法 | |
CN110247905A (zh) | 基于Token的安全鉴权方式的数据存储备份方法和系统 | |
CN114338682A (zh) | 流量身份标识传递方法、装置、电子设备及存储介质 | |
WO2012000455A1 (zh) | 一种客户端及负载均衡的方法 | |
EP2979435B1 (fr) | Procédé de traitement de donnés d'utilisateur d'un réseau social |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150701 |
|
RJ01 | Rejection of invention patent application after publication |