令牌管理方法和系统转让专利

申请号 : CN201210404490.2

文献号 : CN102904894B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 胡聪

申请人 : 北京奇虎科技有限公司奇智软件(北京)有限公司

摘要 :

本发明公开了一种令牌管理方法和系统,涉及互联网领域。所述方法包括用户界面接收用户的授权指令并发送给应用提供方;应用提供方根据授权指令调用开放平台中的令牌获取接口获取令牌,然后应用提供方生成所述令牌的超时时间并存储;应用提供方使用令牌调用所述开放平台中的第三接口实现相应的应用;应用提供方在应用的后续进行不再需要所述令牌时或者应用完成后调用令牌取消接口取消令牌;用户界面接收用户的退出指令,并在令牌尚未取消的情况下根据退出指令调用令牌取消接口取消令牌。所述方法和系统,克服了现有技术中根据固定时长的超时时间取消令牌所存在的安全隐患,实现了对令牌的自适应地取消,提高了用户信息的安全性。

权利要求 :

1.一种令牌管理系统,包括:开放平台、应用提供方和用户界面;

所述开放平台中包括:令牌获取接口、令牌取消接口和第三接口;

所述应用提供方适于根据用户的授权指令调用所述令牌获取接口以获取令牌,使用所述令牌调用所述第三接口实现相应的应用,以及在所述应用的后续进行不再需要所述令牌时或者所述应用完成后调用所述令牌取消接口以取消所述令牌;

所述用户界面适于接收用户的授权指令,以及接收用户的退出指令,并在所述令牌尚未取消的情况下根据所述退出指令调用所述令牌取消接口以取消所述令牌;

其中,所述应用提供方包括超时设定单元,所述超时设定单元适于在所述令牌获取单元获取所述令牌时生成并存储所述令牌的超时时间。

2.如权利要求1所述的系统,其特征在于,所述应用提供方包括:令牌获取单元;

所述令牌获取单元适于根据所述用户的授权指令调用所述令牌获取接口以获取令牌。

3.如权利要求1或2所述的系统,其特征在于,所述应用提供方还包括:超时监控单元;

所述超时监控单元适于判断当前时间是否已经超过所述令牌的超时时间,如果是,则通知所述令牌获取单元获取新的令牌。

4.如权利要求1或2所述的系统,其特征在于,所述应用提供方还包括:应用逻辑单元;

所述应用逻辑单元适于在所述令牌未被取消时,使用所述令牌调用所述第三接口实现相应的应用。

5.如权利要求1或2所述的系统,其特征在于,所述用户界面包括:指令接收单元和指令处理单元;

所述指令接收单元适于接收用户的授权指令和退出指令;

所述指令处理单元适于将所述授权指令发送给所述应用提供方,以及在所述令牌尚未取消的情况下根据所述退出指令调用所述令牌取消接口以取消所述令牌。

6.一种令牌管理方法,包括步骤:

用户界面接收用户的授权指令,并将所述授权指令发送给应用提供方;

所述应用提供方根据所述授权指令调用开放平台中的令牌获取接口获取令牌,然后所述应用提供方生成所述令牌的超时时间,并存储所述超时时间;

所述应用提供方使用所述令牌调用所述开放平台中的第三接口实现相应的应用;

所述应用提供方在所述应用的后续进行不再需要所述令牌时或者所述应用完成后调用令牌取消接口取消所述令牌;

所述用户界面接收用户的退出指令,并在所述令牌尚未取消的情况下根据所述退出指令调用所述令牌取消接口取消所述令牌。

7.如权利要求6所述的方法,其特征在于,所述应用提供方使用所述令牌调用所述开放平台中的第三接口实现相应的应用,具体包括步骤:所述应用提供方判断当前时间是否超过所述令牌的超时时间,如果是,则返回所述步骤:用户界面接收用户的授权指令,并将所述授权指令发送给应用提供方;否则,所述应用提供方使用所述令牌调用所述开放平台中的第三接口实现相应的应用。

8.如权利要求6或7所述的方法,其特征在于,所述用户界面接收用户的退出指令,并在所述令牌尚未取消的情况下根据所述退出指令调用所述令牌取消接口取消所述令牌,具体包括步骤:所述用户界面接收用户的退出指令后获取所述令牌的超时时间;

所述用户界面判断当前时间是否超过所述令牌的超时时间,如果是,则认为所述令牌已经被取消,否则,调用所述令牌取消接口取消所述令牌。

说明书 :

令牌管理方法和系统

技术领域

[0001] 本发明涉及互联网技术领域,特别涉及一种令牌(Token)管理方法和系统。

背景技术

[0002] 在互联网时代,某些平台会将自身的服务封装为接口,供第三方开发者使用。我们一般称这些平台为开放平台。第三方开发者通过调用开放平台提供的接口,可以很方便的导入用户信息、提供充值等服务,为第三方开发者节约了大量的开发与运营成本。
[0003] 对开放平台来说,因为要将用户信息提供给第三方开发者,这就涉及到用户的认证与授权。由此,OAuth认证授权协议应运而生。到目前为止,OAuth协议有两个版本被大家广泛使用,分别为OAuth1.0a与OAuth2.0。在OAuth1.0a中,应用方需要预先申请一个RequestToken,在用户授权后,应用方可以获得一个授权过的Request Token,在后端将此Request Token更换为Access Token(令牌),此后均使用这个Access Token调用开放平台的服务接口;在OAuth2.0中,应用方直接要求用户授权,在用户授权后,应用方可以获得一个授权过的Auth Code,在后端将此Auth Code更换为Access Token,此后均使用这个Access Token调用开放平台的服务接口。可见,在OAuth的两种授权流程中都涉及到Access Token的申请。
[0004] 通过调用相应接口获取Access Token的返回参数之一是expires_in,其表示设置的超时时间,若超时时间过期再使用Token去调用其他接口的话,会报错说明Token过期。Token可以对应为一个应用一个,也可以对应为一个应用下一个用户一个。现有的Token超时时间设置方案是固定时长,此种设置方式往往很难适用于所有应用环境下,如一些应用要频繁使用Token,希望超时时间长,但是超时时间越长,安全性越低,因为在Token丢失之后,用户的账户在此次Token有效期内,盗用者可以使用此Token非法调用接口使用被盗用用户的信息。但是有的应用只是使用Token在登陆的时候获取一次用户信息,并不需要特别长的超时时间。如果让应用自己选择超时时间,应用很难选择一个合适的超时时间,往往趋于将超时时间设置的过长,而过长就存在安全问题。

发明内容

[0005] 本发明要解决的技术问题是:如何提供一种令牌管理方法和系统,以自适应地取消令牌,从而提高用户信息的安全性。
[0006] 一种令牌管理系统,包括:开放平台、应用提供方和用户界面;
[0007] 所述开放平台中包括:令牌获取接口、令牌取消接口和第三接口;
[0008] 所述应用提供方适于根据用户的授权指令调用所述令牌获取接口以获取令牌,使用所述令牌调用所述第三接口实现相应的应用,以及在所述应用的后续进行不再需要所述令牌时或者所述应用完成后调用所述令牌取消接口以取消所述令牌;
[0009] 所述用户界面适于接收用户的授权指令,以及接收用户的退出指令,并在所述令牌尚未取消的情况下根据所述退出指令调用所述令牌取消接口以取消所述令牌;
[0010] 其中,所述应用提供方包括超时设定单元,所述超时设定单元适于在所述令牌获取单元获取所述令牌时生成并存储所述令牌的超时时间。
[0011] 其中,所述应用提供方包括:令牌获取单元;
[0012] 所述令牌获取单元适于根据所述用户的授权指令调用所述令牌获取接口以获取令牌。
[0013] 其中,所述应用提供方还包括:超时监控单元;
[0014] 所述超时监控单元适于判断当前时间是否已经超过所述令牌的超时时间,如果是,则通知所述令牌获取单元获取新的令牌。
[0015] 其中,所述令牌取消接口包括:超时判断模块和超时修改模块;
[0016] 所述超时判断模块,适于从所述超时设定单元中提取所述令牌的超时时间,并判断当前时间是否已经超过所述令牌的超时时间,如果是,则认为所述令牌已经被取消,否则,通知所述超时修改模块修改所述令牌的超时时间;
[0017] 所述超时修改模块适于将所述令牌的超时时间修改为当前时间之前的时间。
[0018] 其中,所述应用提供方还包括:应用逻辑单元;
[0019] 所述应用逻辑单元适于在所述令牌未被取消时,使用所述令牌调用所述第三接口实现相应的应用。
[0020] 其中,所述用户界面包括:指令接收单元和指令处理单元;
[0021] 所述指令接收单元适于接收用户的授权指令和退出指令;
[0022] 所述指令处理单元适于将所述授权指令发送给所述应用提供方,以及在所述令牌尚未取消的情况下根据所述退出指令调用所述令牌取消接口以取消所述令牌。
[0023] 本发明还提供一种令牌管理方法,包括步骤:
[0024] 用户界面接收用户的授权指令,并将所述授权指令发送给应用提供方;
[0025] 所述应用提供方根据所述授权指令调用开放平台中的令牌获取接口获取令牌,然后所述应用提供方生成所述令牌的超时时间,并存储所述超时时间;
[0026] 所述应用提供方使用所述令牌调用所述开放平台中的第三接口实现相应的应用;
[0027] 所述应用提供方在所述应用的后续进行不再需要所述令牌时或者所述应用完成后调用令牌取消接口取消所述令牌;
[0028] 所述用户界面接收用户的退出指令,并在所述令牌尚未取消的情况下根据所述退出指令调用所述令牌取消接口取消所述令牌。
[0029] 其中,所述应用提供方使用所述令牌调用所述开放平台中的第三接口实现相应的应用,具体包括步骤:
[0030] 所述应用提供方判断当前时间是否超过所述令牌的超时时间,如果是,则返回所述步骤:用户界面接收用户的授权指令,并将所述授权指令发送给应用提供方;否则,所述应用提供方使用所述令牌调用所述开放平台中的第三接口实现相应的应用。
[0031] 其中,所述令牌取消接口取消所述令牌,具体包括步骤:
[0032] 所述令牌取消接口获取所述令牌的超时时间,并判断当前时间是否超过所述令牌的超时时间,如果是,则认为所述令牌已经被取消,否则,将所述令牌的超时时间修改为当前时间之前的时间。
[0033] 其中,所述用户界面接收用户的退出指令,并在所述令牌尚未取消的情况下根据所述退出指令调用所述令牌取消接口取消所述令牌,具体包括步骤:
[0034] 所述用户界面接收用户的退出指令后获取所述令牌的超时时间;
[0035] 所述用户界面判断当前时间是否超过所述令牌的超时时间,如果是,则认为所述令牌已经被取消,否则,调用所述令牌取消接口取消所述令牌。
[0036] 所述开放平台为提供开放API接口的平台设备,例如平台服务器、接入服务器等。
[0037] 所述应用提供方一般为提供第三方应用业务的计算设备,例如第三方服务器、业务提供设备、应用方业务设备。
[0038] 所述用户界面一般即为客户端设备,例如PC设备、移动终端等。
[0039] 本发明所述令牌管理方法和系统,增设了令牌取消接口,应用提供方适时调用令牌取消接口取消令牌,同时在应用提供方未及时取消令牌的情况下,用户界面也可以根据用户的退出指令调用令牌取消接口取消令牌,从而克服了现有技术中根据固定时长的超时时间取消令牌所存在的安全隐患,实现了对令牌的自适应地取消,提高了用户信息的安全性。

附图说明

[0040] 图1是本发明实施例所述令牌接管理系统的模块结构示意图;
[0041] 图2是本发明实施例所述应用提供方的内部模块结构示意图;
[0042] 图3是本发明实施例所述令牌取消接口的内部模块结构示意图;
[0043] 图4是本发明实施例所述用户界面的内部模块结构示意图;
[0044] 图5是本发明实施例所述令牌管理方法的流程图;
[0045] 图6是本发明实施例所述令牌管理方法的细致流程图;
[0046] 图7是本发明实施例中所述令牌取消接口取消所述令牌的流程图。

具体实施方式

[0047] 下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
[0048] 根据对现有技术的分析,克服现有技术中问题的关键在于令牌生成之后,什么时候会被取消,原有机制是固定时间超过即取消,也就是在使用令牌时判断是否超时,超时后重新获取令牌。本发明的关键点在于在原有接口基础上增加用于取消令牌的令牌取消接口。
[0049] 设置令牌取消接口后,应用提供方何时调用令牌取消接口也很重要,因为应用提供方为简单化开发有可能会选择不恰当的时机调用令牌取消接口。为此,本申请令令牌取消接口在以下两种情况下被调用:
[0050] a、主动控制:由应用提供方自己调用,在确定一段时间内不使用令牌时,取消此令牌,以保证令牌的最短有效时间,如此可以提高安全性;
[0051] b、协同控制:由最终用户触发,用户界面去调用。因为开放平台并不能确定应用提供方是否会严格执行安全至上的原则而主动去调用此取消接口,因此设置协同控制作为主动控制的补充。
[0052] 通过设置上述两种控制方式,可以在适应大部分应用环境的情况下,保证用户正常使用,同时最大程度的限制了令牌的危险时间。接下来将对本申请的系统和方法进行详细说明如下:
[0053] 图1是本发明实施例所述令牌管理系统的模块结构示意图,如图1所示,所述系统包括:开放平台100、应用提供方200和用户界面300。
[0054] 所述开放平台100中包括:令牌获取接口110、令牌取消接口120和第三接口130。
[0055] 所述应用提供方200适于根据用户的授权指令调用所述令牌获取接口110以获取令牌,使用所述令牌调用所述第三接口130实现相应的应用,以及在所述应用的后续进行不再需要所述令牌时或者所述应用完成后调用所述令牌取消接口120以取消所述令牌。所述应用的后续进行不再需要所述令牌,即在可以预测的预定时间内所述应用的进行无需所述应用提供方200使用所述令牌调用所述第三接口。
[0056] 所述用户界面300适于接收用户的授权指令,以及接收用户的退出指令,并在所述令牌尚未取消的情况下根据所述退出指令调用所述令牌取消接口120以取消所述令牌。根据用户的退出指令取消所述令牌,即协同控制方式,作为所述应用提供方200主动取消所述令牌的一种辅助控制方式,其只在所述应用提供方200未能及时取消所述令牌的情况被采用。
[0057] 图2是所述应用提供方200的内部模块结构示意图,如图2所示,所述应用提供方200进一步包括:令牌获取单元210、超时设定单元220、超时监控单元230和应用逻辑单元
240。
[0058] 所述令牌获取单元210适于根据所述用户的授权指令调用所述令牌获取接口110以获取令牌。
[0059] 所述超时设定单元220适于在所述令牌获取单元110获取所述令牌时生成并存储所述令牌的超时时间。
[0060] 所述超时监控单元230适于判断当前时间是否已经超过所述令牌的超时时间,如果是,则通知所述令牌获取单元110获取新的令牌。当获取新的令牌时,所述令牌获取单元210需要重新获得用户的授权指令,此时原有令牌实际上已经被自动取消。
[0061] 所述应用逻辑单元240适于在所述令牌未被取消时,使用所述令牌调用所述第三接口130实现相应的应用。
[0062] 图3是所述令牌取消接口的内部模块结构示意图,如图3所示,所述令牌取消接口120包括:超时判断模块121和超时修改模块122。
[0063] 所述超时判断模块121,适于从所述超时设定单元220中提取所述令牌的超时时间,并判断当前时间是否已经超过所述令牌的超时时间,如果是,则认为所述令牌已经被取消,否则,通知所述超时修改模块122修改所述令牌的超时时间。
[0064] 所述超时修改模块122适于将所述令牌的超时时间修改为当前时间之前的时间,比如修改为当前时间的前一秒。
[0065] 下面表1是所述令牌取消接口的采用PHP语言实现的一种代码示例,表2是对其中相应参数含义解释说明。本领域技术人员根据上述内容容易替换为其他语言实现所述令牌取消接口。
[0066] 表1令牌取消接口实现示例
[0067]
[0068]
[0069] 表2令牌取消接口相关参数说明
[0070]
[0071] 图4是所述用户界面300的内部模块结构示意图,如图4所示,所述用户界面包括:指令接收单元310和指令处理单元320。所述用户界面一般位于面对最终用户的终端上,比如位于个人电脑上。
[0072] 所述指令接收单元310适于接收用户的授权指令和退出指令。指令接收单元310可以通过弹出对话框的方式提示用户输入相应的指令,比如用户点击对话框中的确定按钮输入授权指令,用户点击退出按钮输入退出指令。
[0073] 所述指令处理单元320适于将所述授权指令发送给所述应用提供方200,以及在所述令牌尚未取消的情况下根据所述退出指令调用所述令牌取消接口120以取消所述令牌。
[0074] 图5是本发明实施例所述令牌管理方法的流程图,如图5所示,所述方法包括步骤:
[0075] S100:用户界面接收用户的授权指令,并将所述授权指令发送给应用提供方。
[0076] S200:所述应用提供方根据所述授权指令调用开放平台中的令牌获取接口获取令牌。
[0077] S400:所述应用提供方使用所述令牌调用所述开放平台中的第三接口实现相应的应用。
[0078] S500:所述应用提供方在所述应用的后续进行不再需要所述令牌时或者所述应用完成后调用令牌取消接口取消所述令牌。
[0079] S600:所述用户界面接收用户的退出指令,并在所述令牌尚未取消的情况下根据所述退出指令调用所述令牌取消接口取消所述令牌。
[0080] 图6是本发明实施例所述令牌管理方法的细致流程图,如图6所示,所述步骤S200之后还包括步骤S300:所述应用提供方生成所述令牌的超时时间,并存储所述超时时间。
[0081] 相应地,所述步骤S400具体包括步骤:
[0082] S410:所述应用提供方判断当前时间是否超过所述令牌的超时时间,如果是,则返回所述步骤S100;否则,执行步骤S420。
[0083] S420:所述应用提供方使用所述令牌调用所述开放平台中的第三接口实现相应的应用。
[0084] 所述步骤S600具体包括步骤:
[0085] S610:所述用户界面接收用户的退出指令后获取所述令牌的超时时间。
[0086] S620:所述用户界面判断当前时间是否超过所述令牌的超时时间,如果是,则认为所述令牌已经被取消,否则,调用所述令牌取消接口取消所述令牌。
[0087] 其中,图7是本发明实施例中所述令牌取消接口取消所述令牌的流程图,如图7所示,所述步骤S500和步骤S600中所述令牌取消接口取消所述令牌的过程除了调用主体不同之外(步骤S500中是应用提供方,步骤S600中是用户界面),具体步骤均如下:
[0088] P1:所述令牌取消接口获取所述令牌的超时时间;
[0089] P2:所述令牌取消接口判断当前时间是否超过所述令牌的超时时间,如果是,则认为所述令牌已经被取消,否则,将所述令牌的超时时间修改为当前时间之前的时间。
[0090] 本发明实施例所述令牌管理方法和系统,增设了令牌取消接口,应用提供方适时调用令牌取消接口取消令牌,同时在应用提供方未及时取消令牌的情况下,用户界面也可以根据用户的退出指令调用令牌取消接口取消令牌,从而克服了现有技术中根据固定时长的超时时间取消令牌所存在的安全隐患,实现了对令牌的自适应地取消,提高了用户信息的安全性。
[0091] 以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。