资源授权方法及系统和授权服务器及工作方法技术方案

技术编号:14350132 阅读:95 留言:0更新日期:2017-01-04 20:53
本发明专利技术公开资源授权方法及系统和授权服务器及工作方法,授权服务器的工作方法包括:当授权服务器接收到第三方应用发送的获取授权码请求时以预存的访问权限列表为参数定向到授权页面,当接收到允许授权信息时生成授权码,将授权码与访问权限列表对应存储,并根据预存的重定向URL向第三方应用回传授权码;当授权服务器收到到第三方应用发送的包含授权码、应用标识符、应用密码的获取令牌请求时,根据获取令牌请求判断授权码是否有效,并根据应用标识符和应用密码判断所述第三方应用是否合法,若判断均为是则生成访问令牌,并将访问令牌发送给所述第三方应用。本发明专利技术用户可以设置第三方应用的访问权限和有效期,有效的防止资源泄露。

【技术实现步骤摘要】

本专利技术涉及通信领域,特别涉及资源授权方法及系统和授权服务器及工作方法
技术介绍
目前资源授权是通过第三方应用获取到提供资源的应用的用户名和密码从而得到所有资源的访问权限,但是这种资源授权方式存在以下问题:第三方应用为了后续的服务会保存用户的密码,这样很不安全;第三方应用可以访问所有的资源,用户没有办法设置访问范围和有效期;用户只有修改提供资源的应用的密码才能收回第三方应用的访问权限;如果有一个第三方应用程序被破解,就会导致用户密码泄露,以及所有被密码保护的资源泄露。
技术实现思路
本专利技术的目的是避免用户资源被滥用,提供资源授权方法及系统和资源授权服务器及工作方法。本专利技术方法是通过下述技术方案实现的:一种资源授权的方法,包括:步骤A1、第三方应用向授权服务器发送包含应用标识符的获取授权码请求;步骤A2、授权服务器根据应用标识符获取预存的重定向URL,以预存的访问权限列表为参数定向到授权页面,若接收到允许授权信息则生成授权码,将授权码、应用标识符和预存的访问权限列表对应存储;根据重定向URL向第三方应用回传授权码;步骤A3、第三方应用向授权服务器发送包含授权码、应用标识符和应用密码的获取令牌请求;步骤A4、授权服务器判断授权码是否有效,并根据应用标识符和应用密码判断第三方应用是否合法,若判断均为是则生成访问令牌,根据应用标识符获取预存的访问权限列表,将访问令牌和预存的权限列表对应存储,将访问令牌发送给第三方应用,否则结束。一种资源授权系统,包括第三方应用、授权服务器;第三方应用包括:第一发送模块,用于向授权服务器发送包含应用标识符的获取授权码请求;第一接收模块,用于接收授权服务器回传的授权码;第二发送模块,用于向授权服务器发送包含授权码、应用标识符和应用密码的获取令牌请求;第二接收模块,用于接收授权服务器发送的访问令牌;授权服务器包括:第三接收模块,用于接收获授权码请求;第一获取模块,用于根据第三接收模块接收到的获取授权码请求中的应用标识符获取预存的重定向URL;定向模块,用于以预存的访问权限列表为参数定向到授权页面,并接收允许授权信息;授权码生成模块,若定向模块接收到允许授权信息后生成授权码;第一保存模块,用于将授权码生成模块生成的授权码、应用标识符和预存的访问权限列表对应存储;第三发送模块,用于根据第一获取模块获取到的重定向URL向第三方应用回传授权码生成模块生成的授权码;第四接收模块,用于接收第三方应用发送的获取令牌请求;第一判断模块,用于判断第四接收模块接收到的获取令牌请求中的授权码是否有效,并根据第四接收模块接收到的获取令牌请求中的应用标识符和应用密码判断第三方应用是否合法;访问令牌生成模块,用于若第一判断模块判断均为是时生成访问令牌;第二保存模块,用于根据第四接收模块接收到的获取令牌请求中的应用标识符获取预存的访问权限列表,将访问令牌生成模块生成的访问令牌和预存的权限列表对应存储;第四发送模块,用于将访问令牌生成模块生成的访问令牌发送给第三方应用。一种授权服务器的工作方法,包括:步骤B1、当授权服务器接收到第三方应用发送的包含应用标识符的获取授权码请求时,根据应用标识符获取预存的重定向URL,以预存的访问权限列表为参数定向到授权页面,若接收到允许授权信息则生成授权码,将授权码、应用标识符和预存的访问权限列表对应存储;根据重定向URL向第三方应用回传授权码;步骤B2、当授权服务器接收到第三方应用发送的包含授权码、应用标识符和应用密码的获取令牌请求时,判断授权码是否有效,并根据应用标识符和应用密码判断第三方应用是否合法,若判断均为是则生成访问令牌,根据应用标识符获取预存的访问权限列表,将访问令牌和预存的权限列表对应存储,将访问令牌发送给第三方应用,否则结束。一种授权服务器,包括第三接收模块,用于接收获授权码请求;第一获取模块,用于根据第三接收模块接收到的获取授权码请求中的应用标识符获取预存的重定向URL;定向模块,用于以预存的访问权限列表为参数定向到授权页面,并接收允许授权信息;授权码生成模块,用于若定向模块接收到允许授权信息后生成授权码;第一保存模块,用于将授权码生成模块生成的授权码、应用标识符和预存的访问权限列表对应存储;第三发送模块,用于根据第一获取模块获取到的重定向URL向第三方应用回传授权码生成模块生成的授权码;第四接收模块,用于接收第三方应用发送的获取令牌请求;第一判断模块,用于判断第四接收模块接收到的获取令牌请求中的授权码是否有效,并根据第四接收模块接收到的获取令牌请求中的应用标识符和应用密码判断第三方应用是否合法;访问令牌生成模块,用于若第一判断模块判断均为是时生成访问令牌;第二保存模块,用于根据第四接收模块接收到的获取令牌请求中的应用标识符获取预存的访问权限列表,将访问令牌生成模块生成的访问令牌和预存的权限列表对应存储;第四发送模块,用于将访问令牌生成模块生成的访问令牌发送给第三方应用。本专利技术方法的有益效果在于:可以控制第三方应用的访问权限和有效期,有效的防止资源泄露。附图说明为了更清楚的说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例2提供的一种资源授权的方法的整体流程图;图2为本专利技术实施例2提供的一种资源授权的方法的整体流程图;图3为本专利技术实施例3提供的一种授权服务器的工作方法的流程图;图4为本专利技术实施例3提供的一种授权服务器的工作方法的流程图;图5为本专利技术实施例4提供的一种资源授权的系统的方框图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。实施例1本实施例提供一种资源授权的方法,包括:第三方应用预先在授权服务器中注册应用标识符、应用密码和重定向URL。步骤A1、第三方应用向授权服务器发送包含应用标识符的获取授权码请求;步骤A2、授权服务器根据应用标识符获取预存的重定向URL,以预存的访问权限列表为参数定向到授权页面,若接收到允许授权信息则生成授权码,将授权码、应用标识符和预存的访问权限列表对应存储;根据重定向URL向第三方应用回传授权码;具体的,访问权限列表具体为由资源标识形成的列表;优选的,步骤A1之后,在步骤A2之前还包括:授权服务器根据应用标识符判断第三方应用是否已注册,是则执行步骤A2,否则向授权服务器发送应用标识无效信息,结束。优选的,若获取授权码请求中还包括第一重定向URL时:步骤A2中,根据应用标识符获取预存的重定向URL之后,以预存的访问权限列表为参数定向到授权页面之前还包括:授权服务判断第一重定向URL与预存的重定向URL是否相同,是则以预存的访问权限列表为参数定向到授权页面,否则向第三方应用返回第一重定向URL无效信息,结束。步骤A3、第三方应用向授权服务器发送包含授权码、应用标识符和应用密码的获取令牌请求;步本文档来自技高网...
资源授权方法及系统和授权服务器及工作方法

【技术保护点】
一种资源授权的方法,其特征在于,包括:步骤A1、第三方应用向授权服务器发送包含应用标识符的获取授权码请求;步骤A2、所述授权服务器根据所述应用标识符获取预存的重定向URL,以预存的所述访问权限列表为参数定向到授权页面,若接收到允许授权信息则生成授权码,将所述授权码、所述应用标识符和所述预存的访问权限列表对应存储;根据所述重定向URL向所述第三方应用回传授权码;步骤A3、所述第三方应用向所述授权服务器发送包含所述授权码、所述应用标识符和所述应用密码的获取令牌请求;步骤A4、所述授权服务器判断所述授权码是否有效,并根据所述应用标识符和所述应用密码判断所述第三方应用是否合法,若判断均为是则生成访问令牌,根据应用标识符获取所述预存的访问权限列表,将所述访问令牌和所述预存的权限列表对应存储,将所述访问令牌发送给所述第三方应用,否则结束。

【技术特征摘要】
1.一种资源授权的方法,其特征在于,包括:步骤A1、第三方应用向授权服务器发送包含应用标识符的获取授权码请求;步骤A2、所述授权服务器根据所述应用标识符获取预存的重定向URL,以预存的所述访问权限列表为参数定向到授权页面,若接收到允许授权信息则生成授权码,将所述授权码、所述应用标识符和所述预存的访问权限列表对应存储;根据所述重定向URL向所述第三方应用回传授权码;步骤A3、所述第三方应用向所述授权服务器发送包含所述授权码、所述应用标识符和所述应用密码的获取令牌请求;步骤A4、所述授权服务器判断所述授权码是否有效,并根据所述应用标识符和所述应用密码判断所述第三方应用是否合法,若判断均为是则生成访问令牌,根据应用标识符获取所述预存的访问权限列表,将所述访问令牌和所述预存的权限列表对应存储,将所述访问令牌发送给所述第三方应用,否则结束。2.如权利要求1所述的方法,其特征在于,所述步骤A1之前还包括:第三方应用在授权服务器进行注册,授权服务器中预存有第三方应用的应用标识符、应用密码和重定向URL。3.如权利要求2所述的方法,其特征在于,所述步骤A3具体为:第三方应用将应用标识符与应用密码进行加密生成应用密文信息,向所述授权服务器发送包含应用密文信息和授权码的获取令牌请求;所述根据应用标识符和应用密码判断第三方应用是否合法具体包括,授权服务器从获取访问令牌请求中获取应用密文信息,将应用密文信息解密获取应用标识符和应用密码,根据应用标识符和应用密码判断第三方应用是否合法。4.如权利要求1所述的方法,其特征在于,所述步骤A1之后,所述步骤A2之前还包括:所述授权服务器根据所述应用标识符判断所述第三方应用是否已注册,是则执行步骤A2,否则向授权服务器发送应用标识无效信息,结束。5.如权利要求1所述的方法,其特征在于,所述访问权限列表具体为由资源标识形成的列表。6.如权利要求1所述的方法,其特征在于,所述获取授权码请求中还包括第一重定向URL;所述根据所述应用标识符获取预存的重定向URL之后,所述以预存的所述访问权限列表为参数定向到授权页面之前还包括:授权服务判断所述第一重定向URL与预存的重定向URL是否相同,是则以预存的所述访问权限列表为参数定向到授权页面,否则向所述第三方应用返回第一重定向URL无效信息,结束。7.如权利要求1所述的方法,其特征在于,若所述获取授权码请求中还包括第一访问权限列表;所述步骤A1之后,所述步骤A2之前还包括:所述授权服务器判断预存的访问权限列表是否包含所述第一访问权限列表,是则所述授权服务器以所述第一访问权限列表为参数定向到预存的授权页面,若接收到允许授权信息则生成授权码,将所述授权码、所述应用标识符和所述第一访问权限列表对应存储;根据所述重定向URL向所述第三方应用回传授权码;执行步骤A3;否则执行步骤A2;所述生成访问令牌之后,所述将访问令牌发送给第三方应用之前还包括:授权服务器根据应用标识符获取所述第一访问权限列表,将所述访问令牌和所述第一访问权限列表对应存储。8.如权利要求1所述的方法,其特征在于,所述允许授权信息中具体包括用户允许访问的资源的资源标识组成的第二访问权限列表;所述将所述授权码和所述应用标识符对应存储具体为:授权服务器将所述授权码、所述应用标识符和所述第二访问权限列表对应存储;所述生成访问令牌之后,所述将访问令牌发送给第三方应用之前还包括:授权服务器根据应用标识符获取所述第二访问权限列表,将所述访问令牌和所述第二访问权限列表对应存储。9.如权利要求7或8所述的方法,其特征在于,所述步骤A4之后还包括:步骤101、第三方应用向资源服务器发送包含所述访问令牌和资源标识的获取资源请求;步骤102、资源服务器将所述访问令牌和所述资源标识发送给授权服务器;步骤103、授权服务器判断访问令牌是有效,判断与访问令牌对应保存的权限列表中是否包含所述资源标识,若判断均为是则向资源服务器发送包含资源标识的允许访问信息,执行步骤104,否则结束;步骤104、资源服务器将与资源标识相对应的资源发送给第三方应用。10.如权利要求9所述的方法,其特征在于,所述步骤A4还包括:授权服务器获取服务器的当前时间,根据当前时间生成访问令牌过期时间,并将所述访问令牌和所述访问令牌过期时间对应保存;所述步骤102之后,所述步骤103之前还包括:所述授权服务器根据所述访问令牌获取所述访问令牌过期时间,判断所述访问令牌是否过期,是则结束,否则执行步骤103。11.如权利要求10所述的方法,其特征在于,所述步骤A4还包括:授权服务器生成刷新令牌,并将所述访问令牌、所述访问令牌过期时间和所述刷新令牌对应保存,将所述访问令牌和所述刷新令牌发送给所述第三方应用;若所述授权服务器判定访问令牌过期之后还包括:步骤201、所述授权服务器向所述第三方应用发送访问令牌过期信息;步骤202、所述第三方应用向所述授权服务器发送包含所述应用标识符、所述应用密码和所述刷新令牌的更新令牌请求;步骤203、所述授权服务器判断所述刷新令牌是否有效,并根据所述应用标识符和所述应用密码判断所述第三方应用是否合法,若判断均为是时更新访问令牌,并生成新的访问令牌过期时间,返回步骤A4。12.如权利要求2或11所述的方法,其特征在于,所述步骤202具体包括:所述第三方应用将所述应用标识符和所述应用密码进行加密生成应用密文信息,发送包含所述应用密文信息和刷新令牌的更新令牌请求;所述根据应用标识符和应用密码判断第三方应用是否合法具体包括:授权服务器将所述应用密文信息解密获取所述应用标识符和所述应用密码,并根据所述应用标识符和所述应用密码判断第三方应用是否合法。13.如权利要求1所述的方法,其特征在于,所述步骤A2还包括:授权服务器获取服务器当前时间作为授权码生成时间,根据授权码生成时间生成授权码过期时间;所述步骤A4具体为:所述授权服务器获取服务器当前时间和授权码过期时间,判断授权码是否过期;判断所述授权码是否有效,并根据所述应用标识符和所述应用密码判断所述第三方应用是否合法,若判断均为是则生成访问令牌,将所述访问令牌发送给所述第三方应用,否则结束。14.一种资源授权系统,其特征在于,包括第三方应用、授权服务器;所述第三方应用包括:第一发送模块,用于向授权服务器发送包含应用标识符的获取授权码请求;第一接收模块,用于接收授权服务器回传的授权码;第二发送模块,用于向所述授权服务器发送包含所述授权码、所述应用标识符和所述应用密码的获取令牌请求;第二接收模块,用于接收授权服务器发送的访问令牌;所述授权服务器包括:第三接收模块,用于接收获授权码请求;第一获取模块,用于根据所述第三接收模块接收到的所述获取授权码请求中的所述应用标识符获取预存的重定向URL;定向模块,用于以预存的所述访问权限列表为参数定向到授权页面,并接收允许授权信息;授权码生成模块,若所述定向模块接收到允许授权信息后生成授权码;第一保存模块,用于将所述授权码生成模块生成的授权码、所述应用标识符和所述预存的访问权限列表对应存储;第三发送模块,用于根据所述第一获取模块获取到的重定向URL向所述第三方应用回传所述授权码生成模块生成的授权码;第四接收模块,用于接收所述第三方应用发送的获取令牌请求;第一判断模块,用于判断所述第四接收模块接收到的获取令牌请求中的所述授权码是否有效,并根据所述第四接收模块接收到的获取令牌请求中的所述应用标识符和所述应用密码判断所述第三方应用是否合法;访问令牌生成模块,用于若所述第一判断模块判断均为是时生成访问令牌;第二保存模块,用于根据第四接收模块接收到的获取令牌请求中的所述应用标识符获取所述预存的访问权限列表,将所述访问令牌生成模块生成的访问令牌和所述预存的权限列表对应存储;第四发送模块,用于将所述访问令牌生成模块生成的所述访问令牌发送给所述第三方应用。15.如权利要求14所述的系统,其特征在于,所述授权服务器还包括:第三保存模块,用于保存第三方应用的应用标识符、应用密码和重定向URL。16.如权利要求15所述的系统,其特征在于,所述第二发送模块包括:第一加密子模块,用于将应用标识符与应用密码进行加密生成应用密文信息;第一发送子模块,用于向所述授权服务器发送包含应用密文信息和授权码的获取令牌请求;所述第四接收模块包括:第一接收子模块,用于接收所述第三方应用发送的获取令牌请求;第一解密模块,用于从获取访问令牌请求中获取应用密文信息,将应用密文信息解密获取应用标识符和应用密码。17.如权利要求14所述的系统,其特征在于,所述授权服务器还包括:第二判断模块,用于根据所述第三接收模块接收到的获取授权码请求中的应用标识符判断所述第三方应用是否已注册;所述第一获取模块,具体用于若所述第二判断模块判定第三方应用已注册之后根据所述第三接收模块接收到的所述获取授权码请求中的所述应用标识符获取预存的重定向URL。18.如权利要求14所述的系统,其特征在于,所述访问权限列表具体为由资源标识形成的列表。19.如权利要求14所述的系统,其特征在于,所述第三接收模块接收到的所述获取授权码请求中还包括第一重定向URL;所述授权服务器还包括:第三判断模块,用于判断所述第一重定向URL与所述第一获取模块获取到的预存的重定向URL是否相同;所述定向模块,具体用于若所述第三判断模块判定第一重定向URL与所述第一获取模块获取到的预存的重定向URL相同时根据所述第三接收模块接收到的所述获取授权码请求中的所述应用标识符获取预存的重定向URL。20.如权利要求14所述的系统,其特征在于,所述第三接收模块接收到的所述获取授权码请求中还包括第一访问权限列表;所述授权服务器还包括:第四判断模块,用于判断预存的访问权限列表是否包含所述第一访问权限列表;所述定向模块,具体用于若所述第四判断模块判定预存的访问权限列表包含所述第一访问权限列表时以所述第一访问权限列表为参数定向到授权页面,并接收允许授权信息;所述第一保存模块,用于将所述授权码生成模块生成的授权码、所述应用标识符和所述第一访问权限列表对应存储;所述第二保存模块,用于将所述访问令牌生成模块生成的访问令牌和根据所述获取令牌请求中的所述应用标识符获取到所述第一访问权限列表对应存储;所述定向模块,还用于若所述第四判断模块判定预存的访问权限列表不包含所述第一访问权限列表时以所述预存的访问权限列表为参数定向到授权页面,并接收允许授权信息;所述第一保存模块,还用于将所述授权码生成模块生成的授权码、所述应用标识符和所述预存的访问权限列表对应存储;所述第二保存模块,还用于将所述访问令牌生成模块生成的访问令牌和根据获取令牌请求中的所述应用标识符获取到的所述预存的访问权限列表对应存储。21.如权利要求14所述的系统,其特征在于,所述定向模块接收到的所述允许访问信息中包括用户允许访问的资源的资源标识组成的第二访问权限列表;所述第一保存模块,还用于将所述授权码生成模块生成的授权码、所述应用标识符和所述定向模块接收到的所述允许访问信息中包含的第二访问权限列表对应存储;所述第二保存模块,还用于将所述访问令牌生成模块生成的访问令牌和将所述定向模块接收到的所述允许访问信息中包含的第二访问权限列表对应存储。22.如权利要求20或21所述的系统,其特征在于,所述系统还包括资源服务器;所述第三方应用还包括:第五发送模块,用于向资源服务器发送包含所述访问令牌和资源标识的获取资源请求;资源服务器,包括:第六发送模块,用于接收所述第三方应用发送的获取资源请求,并将所述获取资源请求中的所述访问令牌和所述资源标识发送给授权服务器;第五接收模块,用于接收所述授权服务器发送的允许访问信息,向所述第三方应用发送与所述资源标识相对应的资源;所述授权服务器还包括:第五判断模块,用于接收资源服务器发送的所述访问令牌和所述资源标识;判断所述访问令牌是有效,判断与所述访问令牌访问对应的权限列表中是否包含所述资源标识;第七发送模块,用于若所述第五判断模块判断均为是时向资源服务器发送包含资源标识的允许访问信息。23.如权利要求22所述的系统,其特征在于,所述授权服务器还包括:访问令牌过期时间生成模块,用于获取服务器的当前时间,根据当前时间生成访问令牌过期时间;所述第二保存模块,用于根据第四接收模块接收到的获取令牌请求中的所述应用标识符获取对应保存的访问权限列表,将所述访问令牌生成模块生成的访问令牌和所述访问令牌过期时间生成模块生成的所述访问令牌过期时间对应存储;第六判断模块,用于根据所述访问令牌获取所述访问令牌过期时间,判断所述访问令牌是否过期;所述第五判断模块,用于若所述第六判断模块判定所述访问令牌没有过期之后接收资源服务器发送的所述访问令牌和所述资源标识;判断所述访问令牌是有效,判断与所述访问令牌对应的权限列表中是否包含所述资源标识。24.如权利要求23所述的系统,其特征在于,所述授权服务器还包括:刷新令牌生成模块,用于生成刷新令牌;还用于若所述第七判断模块判定所述刷新令牌有效且判定所述第三方应用合法之后生成刷新令牌;第八发送模块,用于若所述第六判断模块判定所述访问令牌过期之后向所述第三方应用发送访问令牌过期信息;所述第四发送模块,用于将所述访问令牌生成模块生成的所述访问令牌和所述刷新令牌生成模块生成的刷新令牌发送给所述第三方应用;所述访问令牌生成模块,还用于若所述第七判断模块判定所述刷新令牌有效且判定所述第三方应用合法之后生成访问令牌;访问令牌过期时间生成模块,还用于若所述第七判断模块判定所述刷新令牌有效且判定所述第三方应用合法之后获取服务器的当前时间,根据当前时间生成访问令牌过期时间;所述第二保存模块,用于根据第四接收模块接收到的获取令牌请求中的所述应用标识符获取对应保存的访问权限列表,将所述访问令牌生成模块生成的访问令牌、所述访问令牌过期时间生成模块生成的所述访问令牌过期时间和所述刷新令牌生成模块生成的刷新令牌对应存储;第六接收模块,用于接收所述第三方应用发送的更新令牌请求;第七判断模块,用于判断所述刷新令牌是否有效,并根据所述应用标识符和所述应用密码判断所述第三方应用是否合法;所述第三方应用还包括:第八发送模块,用于向所述授权服务器发送包含所述应用标识符、所述应用密码和所述刷新令牌的更新令牌请求。25.如权利要求15或24所述的系统,其特征在于,所述第八发送模块,包括:第二加密子模块...

【专利技术属性】
技术研发人员:陆舟于华章
申请(专利权)人:飞天诚信科技股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1