CN114764507A - 资源访问的实现方法、装置、电子设备及存储介质 - Google Patents
资源访问的实现方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114764507A CN114764507A CN202110050321.2A CN202110050321A CN114764507A CN 114764507 A CN114764507 A CN 114764507A CN 202110050321 A CN202110050321 A CN 202110050321A CN 114764507 A CN114764507 A CN 114764507A
- Authority
- CN
- China
- Prior art keywords
- token
- access token
- resource
- access
- request
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2137—Time limited access, e.g. to a computer or data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本公开提供了一种资源访问的实现方法、装置、电子设备及存储介质。该方法包括:获取资源所有者的授权信息,授权信息包括资源所有者的目标资源获取信息;根据授权信息,向授权服务器发送访问令牌申请请求;接收授权服务器响应访问令牌申请请求返回的第一访问令牌、第一刷新令牌和第一访问令牌的过期时间,并保存第一访问令牌的过期时间;根据第一访问令牌的过期时间检测第一访问令牌,使用第一刷新令牌向授权服务器发送令牌刷新请求;接收授权服务器响应令牌刷新请求返回的第二访问令牌、第二刷新令牌和第二访问令牌的过期时间。该方法可以提高资源访问的效率,提升用户体验。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种资源访问的实现方法、装置、电子设备及存储介质。
背景技术
OAuth(Open Authorization,公开授权)协议是一个开放授权协议,允许用户让第三方应用访问该用户在服务提供方中存储的某些资源,例如照片、视频、联系人列表等。
相关技术中,客户端在获得用户授权后,可以访问用户在服务提供方上存储的资源,若客户端想要再次访问用户在服务提供方上存储的资源,需要重新获得用户的授权,可能导致大量重复性的工作,影响资源访问的效率,用户体验差。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种资源访问的实现方法、装置、电子设备及存储介质,该方法可以提高资源访问的效率,提升用户体验。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
本公开实施例提供一种资源访问的实现方法,包括:获取资源所有者的授权信息,授权信息包括资源所有者的目标资源获取信息;根据授权信息,向授权服务器发送访问令牌申请请求;接收授权服务器响应访问令牌申请请求返回的第一访问令牌、第一刷新令牌和第一访问令牌的过期时间,并保存第一访问令牌的过期时间;根据第一访问令牌的过期时间检测第一访问令牌,使用第一刷新令牌向授权服务器发送令牌刷新请求;接收授权服务器响应令牌刷新请求返回的第二访问令牌、第二刷新令牌和第二访问令牌的过期时间。
在本公开一些示例性实施例中,根据第一访问令牌的过期时间,使用第一刷新令牌向授权服务器发送令牌刷新请求,包括:以预设时间间隔设置定时检测任务;根据第一访问令牌的过期时间,确定第一访问令牌的即将过期时间;若执行定时检测任务的时间超过第一访问令牌的即将过期时间,则使用第一刷新令牌向授权服务器发送令牌刷新请求。
在本公开一些示例性实施例中,上述方法还包括:向资源服务器对应的平台发送注册请求;接收平台响应注册请求返回的应用标识,应用标识与资源服务器上的目标类型资源关联;根据授权信息中的资源所有者的目标资源获取信息生成获取资源请求,获取资源请求包括应用标识。
在本公开一些示例性实施例中,上述方法还包括:使用第二访问令牌向资源服务器发送获取资源请求,以便资源服务器验证应用标识,并确定目标资源获取信息属于目标类型资源;接收资源服务器响应获取资源请求返回的与获取资源申请对应的资源。
在本公开一些示例性实施例中,授权信息包括授权期限,上述方法还包括:接收资源所有者的服务到期指令,服务到期指令包括服务到期时间;若服务到期时间早于授权期限,向授权服务器发送令牌失效请求,以便授权服务器响应令牌失效请求使第一访问令牌和第一刷新令牌失效。
在本公开一些示例性实施例中,获取资源所有者的授权信息,包括:获取资源所有者的第一登录信息;向资源所有者发送授权请求;接收资源所有者响应授权请求返回的授权信息。
在本公开一些示例性实施例中,第一刷新令牌、第二刷新令牌、第一访问令牌和第二访问令牌均为结构化令牌,第一访问令牌包括第一访问令牌的有效期,第一刷新令牌包括第一刷新令牌的有效期,第一刷新令牌的有效期大于第一访问令牌的有效期,第二访问令牌包括第二访问令牌的有效期,第二刷新令牌包括第二刷新令牌的有效期,第二刷新令牌的有效期大于第二访问令牌的有效期,第一访问令牌和第二访问令牌包括资源所有者的第一登录信息和与资源所有者的第一登录信息对应的第一秘钥。
在本公开一些示例性实施例中,上述方法还包括:接收资源所有者的登录信息更改请求,登录信息更改请求包括资源所有者的第二登录信息;根据第二登录信息,向授权服务器重新发送访问令牌申请请求,以使授权服务器生成包括第二秘钥的第三访问令牌,其中,第二秘钥与第二登录信息对应。
本公开实施例提供一种资源访问的实现方法,包括:接收客户端发送的访问令牌申请请求;根据访问令牌申请请求对客户端进行认证;若对客户端认证通过,生成第一访问令牌和第一刷新令牌;向客户端发送第一访问令牌、第一刷新令牌和第一访问令牌的过期时间;接收客户端发送的令牌刷新请求;根据令牌刷新请求,生成第二访问令牌和第二刷新令牌;向客户端发送第二访问令牌、第二刷新令牌和第二访问令牌的过期时间。
本公开实施例提供一种资源访问的实现装置,包括:授权信息获取模块,用于获取资源所有者的授权信息,授权信息包括资源所有者的目标资源获取信息;申请请求发送模块,用于根据授权信息,向授权服务器发送访问令牌申请请求;第一令牌接收模块,用于接收授权服务器响应访问令牌申请请求返回的第一访问令牌、第一刷新令牌和第一访问令牌的过期时间,并保存第一访问令牌的过期时间;刷新请求发送模块,用于根据第一访问令牌的过期时间检测第一访问令牌,使用第一刷新令牌向授权服务器发送令牌刷新请求;第二令牌接收模块,用于接收授权服务器响应令牌刷新请求返回的第二访问令牌、第二刷新令牌和第二访问令牌的过期时间。
本公开实施例提供一种资源访问的实现装置,其特征在于,包括:申请请求接收模块,用于接收客户端发送的访问令牌申请请求;请求认证模块,用于根据访问令牌申请请求对客户端进行认证;第一令牌生成模块,用于若对客户端认证通过,生成第一访问令牌和第一刷新令牌;第一令牌发送模块,用于向客户端发送第一访问令牌、第一刷新令牌和第一访问令牌的过期时间;刷新请求接收模块,用于接收客户端发送的令牌刷新请求;第二令牌生成模块,用于根据令牌刷新请求,生成第二访问令牌和第二刷新令牌;第二令牌发送模块,用于向客户端发送第二访问令牌、第二刷新令牌和第二访问令牌的过期时间。
本公开实施例提供一种电子设备,包括:至少一个处理器;存储装置,用于存储至少一个程序,当所述至少一个程序被所述至少一个处理器执行时,使得所述至少一个处理器实现如上述任一种资源访问的实现方法。
本公开实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一种资源访问的实现方法。
本公开一些实施例提供的资源访问的实现方法,通过接收第一访问令牌、第一刷新令牌和第一访问令牌的过期时间,并保存第一访问令牌的过期时间,可以根据第一访问令牌的过期时间检测第一访问令牌的有效性,可以使用第一刷新令牌请求授权服务器重新发送新的、有效的访问令牌,无需重新获取资源所有者的授权,可以减少客户端和资源所有者之间的交互,提高资源访问的效率,提升用户体验。此外,使用本身可以保存信息的结构化令牌,可以节省存储空间,保障数据传输的安全性,无需请求远程调用服务,可以减少因远程调用带来的网络传输损耗,节约资源获取时间。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了可以应用本公开实施例的资源访问的实现方法的示例性系统架构的示意图。
图2是根据一示例性实施方式示出的一种资源访问的实现方法的流程图。
图3是根据一示例性实施方式示出的另一种资源访问的实现方法的流程图。
图4是根据一示例性实施方式示出的另一种资源访问的实现方法的流程图。
图5是根据一示例性实施方式示出的另一种资源访问的实现方法的流程图。
图6是根据一示例性实施方式示出的另一种资源访问的实现方法的流程图。
图7是根据一示例性实施方式示出的另一种资源访问的实现方法的流程图。
图8是根据一示例性实施方式示出的一种资源访问的实现方法的流程图。
图9是根据一示例性实施方式示出的一种资源访问的实现装置的框图。
图10是根据一示例性实施方式示出的另一种资源访问的实现装置的框图。
图11是根据一示例性实施方式示出的一种电子设备的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
图1示出了可以应用本公开实施例的资源访问的实现方法的示例性系统架构的示意图。
如图1所示,该系统架构可以包括客户端110、授权服务器120和资源服务器130。
客户端110可以是智能手机、平板电脑、便携式计算机、台式计算机、智能音箱、可穿戴智能设备、虚拟现实设备、增强现实设备等,但并不局限于此。
授权服务器120和资源服务器130可以是独立的服务器,也可以是多个服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。
本公开实施例提供的资源访问的实现方法,可以基于OAuth、OAuth2.0协议进行,但本公开并不限定于此。
OAuth和OAuth2.0是一个开放标准,允许资源所有者让客户端110访问该资源所有者在资源服务器130上存储的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给客户端110。OAuth2.0中并没有约束访问令牌内容的生成规则,符合唯一性、不连续性、不可猜性的令牌即可,本公开实施例中可以灵活的选择令牌的形式,既可以是没有内部结构且不包含任何信息还有含有的随机字符串,也可以是具有内部结构且有信息含义的字符串。
本公开实施例中,客户端110可以获取用户的授权信息,并可以根据用户的授权信息向授权服务器120发送访问令牌申请请求;授权服务器120可以接收客户端110发送的访问令牌申请请求,并可以根据访问令牌申请请求生成第一访问令牌和第一刷新令牌;授权服务器120可以向客户端110发送第一访问令牌和第一刷新令牌,还可以同时向客户端110发送第一访问令牌的过期时间;客户端110可以接收第一访问令牌和第一刷新令牌,还可以接收第一访问令牌的刷新时间,并可以将第一访问令牌的刷新时间保存下来;客户端110可以根据第一访问令牌的过期时间检测第一访问令牌是否过期或是否即将过期,并可以使用第一刷新令牌向授权服务器120发送令牌刷新请求;授权服务器120可以根据令牌刷新请求生成第二访问令牌和第二刷新令牌,并可以向客户端110发送第二访问令牌和第二刷新令牌发送,还可以同时向客户端110发送第二访问令牌的过期时间;客户端110可以接收第二访问令牌和第二刷新令牌,还可以接收第二访问令牌的刷新时间,并可以将第二访问令牌的刷新时间保存下来。
本公开实施例中,客户端110可以使用第一访问令牌向资源服务器130发送获取资源请求;若第一访问令牌过期,客户端110向授权服务器120发送令牌刷新请求并收到第二访问令牌后,客户端110可以使用第二访问令牌向资源服务器130发送获取资源请求;资源服务器130可以接收获取资源请求,并可以根据获取资源请求验证客户端110和用户的权限,若验证通过,资源服务器130可以向客户端110发送与获取资源请求对应的资源;客户端110可以接收资源服务器130发送的与获取资源请求对应的资源。
应该理解,图1中的客户端、授权服务器和资源服务器的数目仅仅是示意性的,根据实际需要,可以具有任意数目的客户端、授权服务器和资源服务器。
需要注意的是,上述应用场景仅是为了便于理解本公开的精神和原理而示出,本公开的实施方式在此方面不受任何限制。相反,本公开的实施方式可以应用于适用的任何场景。
下面,将结合附图及实施例对本公开示例实施例中的资源访问的实现方法的各个步骤进行更详细的说明。
图2是根据一示例性实施方式示出的一种资源访问的实现方法的流程图。本公开实施例提供的方法可以由如图1所示的客户端中执行,但本公开并不限定于此。
如图2所示,本公开实施例提供的资源访问的实现方法可以包括以下步骤。
在步骤S202中,获取资源所有者的授权信息,授权信息包括资源所有者的目标资源获取信息。
本公开实施例中,客户端可以获取资源所有者的授权信息,客户端可以根据资源所有者的授权来访问资源服务器上资源所有者的信息,目标资源获取信息可以包括资源所有者授权客户端可以访问的资源服务器上的资源。
其中,客户端可以为第三方软件,例如打包软件;资源所有者可以为客户端的用户,资源所有者在资源服务器中存储有资源;资源服务器可以为购物软件,也可以为网站。
例如,用户要使用打包软件来对购物软件的店铺里面的订单发货打印,用户可以给打包软件授权,使打包软件可以获取用户在购物软件中的订单数据;打包软件可以获取用户的授权信息,该授权信息中可以包括打包软件获取资源的权限。
在步骤S204中,根据授权信息,向授权服务器发送访问令牌申请请求。
本公开实施例中,客户端可以根据资源所有者的授权信息,向授权服务器发送访问令牌申请请求。
例如,打包软件可以根据用户的授权信息,向购物软件发送访问令牌申请请求。
在步骤S206中,接收授权服务器响应访问令牌申请请求返回的第一访问令牌、第一刷新令牌和第一访问令牌的过期时间,并保存第一访问令牌的过期时间。
本公开实施例中,授权服务器可以根据访问令牌申请请求,生成第一访问令牌和第一刷新令牌(refresh_token)。
在示例性实施例中,第一刷新令牌、第一访问令牌可以为结构化令牌,第一访问令牌可以包括第一访问令牌的有效期,第一刷新令牌可以包括第一刷新令牌的有效期,第一刷新令牌的有效期大于第一访问令牌的有效期。
本公开实施例中,第一刷新令牌、第一访问令牌均可以为JWT(JSON Web Token,基于JSON的开放标准),JWT是一种结构化封装的方式来生成token(令牌)的技术,结构化的令牌可以赋予很多有用的信息,例如,授权信息、授权范围等。
其中,JWT结构化令牌可以分为HEADER(头部)、PAYLOAD(数据体)和SIGNATURE(签名)三部分。经过签名之后的JWT的整体结构,可以是被句点符号分割的三段内容,结构为header.payload.signature,例如:
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJVU0VSVEVT VCIsImV4cCI6MTU4NDEwNTc5MDcwMywiaWF0IjoxNTg0MTA1OTQ4MzcyfQ.1HbleXbvJ_2SW8ry30cXOBGR9FW4oSWBd3PWaWKsEXE
本公开实施例中,可以使用对称加密方法或非对称加密方法对JWT结构化令牌进行加密,对结构化令牌进行加密可以保证传输过程的安全性。
本公开实施例中,使用JWT可以降低OAuth协议的接入门槛。
例如,第一访问令牌可以将有效期、用户登录信息等信息存储在本身的结构体中。这样授权服务器在收到第一访问令牌后,可以解析第一访问令牌获得第一访问令牌的有效期、用户登录信息等信息。
本公开实施例中,第一访问令牌和第一刷新令牌也可以使用Bearer令牌(不记名令牌)。
本公开实施例中,第一刷新令牌的有效期大于第一访问令牌的有效期,即第一刷新令牌的过期时间晚于第一访问令牌的过期时间。在第一访问令牌失效后,客户端可以使用第一刷新令牌请求授权服务器重新发送新的访问令牌。
本公开实施例中,授权服务器在向客户端发送第一访问令牌和第一刷新令牌的同时,还可以同时发送第一访问令牌的过期时间(expires_in),客户端可以将第一访问令牌的过期时间保存下来,以便检测第一访问令牌是否过期。
在步骤S208中,根据第一访问令牌的过期时间检测第一访问令牌,使用第一刷新令牌向授权服务器发送令牌刷新请求。
本公开实施例中,客户端可以根据第一访问令牌的过期时间设置一个定时任务,定时检测第一访问令牌是否过期或者是否即将过期,若检测到第一访问令牌已过期或者第一访问令牌即将过期,客户端可以使用第一刷新令牌向授权服务器发送令牌刷新请求,以获取新的、有效的访问令牌。
本公开实施例中,客户端可以根据第一访问令牌向资源服务器发送获取资源请求,若第一访问令牌已过期,客户端会收到资源服务器返回的令牌失效的响应,客户端可以根据该令牌失效的响应,使用第一刷新令牌向授权服务器发送令牌刷新请求,以获取新的、有效的访问令牌。
本公开实施例中,第一刷新令牌可以为一次性的,在客户端使用第一刷新令牌向授权服务器发送令牌刷新请求之后,第一刷新令牌失效。
在步骤S210中,接收授权服务器响应令牌刷新请求返回的第二访问令牌、第二刷新令牌和第二访问令牌的过期时间。
本公开实施例中,授权服务器可以根据令牌刷新请求生成第二访问令牌和第二刷新令牌。
在示例性实施例中,第二刷新令牌、第二访问令牌可以为结构化令牌,第二访问令牌可以包括第二访问令牌的有效期,第二刷新令牌可以包括第二刷新令牌的有效期,第二刷新令牌的有效期大于第二访问令牌的有效期。
本公开实施例中,第二刷新令牌、第二访问令牌均可以为JWT。
例如,第二访问令牌可以将有效期、用户登录信息等信息存储在本身的结构体中。这样授权服务器在收到第二访问令牌后,可以解析第二访问令牌获得第二访问令牌的有效期、用户登录信息等信息。
本公开实施例中,第二刷新令牌的有效期大于第二访问令牌的有效期,即第二刷新令牌的过期时间晚于第二访问令牌的过期时间。在第二访问令牌失效后,客户端可以使用第二刷新令牌请求授权服务器重新发送新的访问令牌。
本公开实施例中,授权服务器在向客户端发送第二访问令牌和第二刷新令牌的同时,还可以同时发送第二访问令牌的过期时间,客户端可以将第二访问令牌的过期时间保存下来,以便检测第二访问令牌是否过期。
本公开实施例提供的资源访问的实现方法,通过接收第一访问令牌、第一刷新令牌和第一访问令牌的过期时间,并保存第一访问令牌的过期时间,可以根据第一访问令牌的过期时间检测第一访问令牌的有效性,可以使用第一刷新令牌请求授权服务器重新发送新的、有效的访问令牌,无需重新获取资源所有者的授权,可以减少客户端和资源所有者之间的交互,提高资源访问的效率,提升用户体验。此外,使用本身可以保存信息的结构化令牌,可以节省存储空间,保障数据传输的安全性,无需请求远程调用服务,可以减少因远程调用带来的网络传输损耗,节约资源获取时间。
图3是根据一示例性实施方式示出的另一种资源访问的实现方法的流程图。
本公开实施例中,与图2所示的资源访问的实现方法不同的是,图3所示的资源访问的实现方法进一步提供了如何根据第一访问令牌的过期时间,使用第一刷新令牌向授权服务器发送令牌刷新请求,也即提供了上述步骤S204的一种实施例。
如图3所示,步骤S204可以包括以下步骤。
在步骤S302中,以预设时间间隔设置定时检测任务。
本公开实施例中,预设时间间隔可以根据实际情况设置,也可以根据第一访问令牌的过期时间设置;定时检测任务可以用于检测第一访问令牌的有效性。
在步骤S304中,根据第一访问令牌的过期时间,确定第一访问令牌的即将过期时间。
本公开实施例中,第一访问令牌的即将过期时间,可以为第一访问令牌的过期时间,也可以为第一访问令牌的过期时间之前的距离第一访问令牌的过期时间为预设时间长度的某一时刻,也可以为第一访问令牌的过期时间之后的距离第一访问令牌的过期时间为预设时间长度的某一时刻,其中,预设时间长度可以根据需要设置。
例如,第一访问令牌的过期时间为2021年1月1日10:00:00,预设时间长度为10分钟,则第一访问令牌的即将过期时间可以为2021年1月1日10:00:00,也可以为2021年1月1日09:50:00,也可以为2021年1月1日10:10:00。
在步骤S306中,若执行定时检测任务的时间超过第一访问令牌的即将过期时间,则使用第一刷新令牌向授权服务器发送令牌刷新请求。
例如,执行定时检测任务的时间为2021年1月1日11:00:00,第一访问令牌的即将过期时间为2021年1月1日09:50:00,执行定时检测任务的时间超过了第一访问令牌的即将过期时间,客户端可以使用第一刷新令牌向授权服务器发送令牌刷新请求,以获得新的、有效的访问令牌。
图4是根据一示例性实施方式示出的另一种资源访问的实现方法的流程图。
本公开实施例中,在图2所示的资源访问的实现方法的基础上,图4所示的资源访问的实现方法还可以包括以下步骤。
在步骤S402中,向资源服务器对应的平台发送注册请求。
本公开实施例中,客户端可以向资源服务器对应的平台发送注册请求,其中,注册请求可以包括客户端对应的应用标识(app_id)、应用密码(app_serect)、回调地址(redirect_uri)和申请权限。
例如,打包软件可以向购物平台发送注册请求。
本公开实施例中,客户端预先在资源服务器对应的平台进行注册,便于后续使用注册相关的信息来向资源服务器请求访问令牌。
在步骤S404中,接收平台响应注册请求返回的应用标识,应用标识与资源服务器上的目标类型资源关联。
本公开实施例中,平台收到注册请求后,可以对注册请求进行审核,若审核通过,则返回与资源服务器上的目标类型资源关联的应用标识,客户端可以接收该应用标识,并根据该应用标识访问资源服务器上的目标类型资源。
在步骤S406中,根据授权信息中的资源所有者的目标资源获取信息生成获取资源请求,获取资源请求包括应用标识。
例如,目标资源获取信息可以为订单数据获取信息,获取资源请求可以为获取订单数据请求。
例如,打包软件可以根据授权信息中用户的订单数据获取信息生成获取订单数据请求,该获取订单数据请求中可以包括打包软件的应用标识。
在步骤S408中,使用第二访问令牌向资源服务器发送获取资源请求,以便资源服务器验证应用标识,并确定目标资源获取信息属于目标类型资源。
本公开实施例中,客户端可以使用第一访问令牌或第二访问令牌向资源服务器发送获取资源请求,资源服务器接收该获取资源请求,资源服务器可以对该获取资源请求进行验证,并确定目标资源获取信息属于目标类型资源,若验证通过,资源服务器可以向客户端开放与获取资源请求对应的资源。
本公开实施例中,资源服务器对该获取资源请求进行验证后,与该获取资源请求的第一访问令牌或第二访问令牌自动失效。
本公开实施例中,资源服务器可以对该获取资源请求进行验证,可以包括对第一访问令牌或第二访问令牌中的资源所有者的信息、资源所有者的权限进行验证,也可以包括对客户端的应用标识进行验证,即对资源所有者和客户端的权限进行验证。
本公开实施例中,资源服务器可以对第一访问令牌或第二访问令牌进行解析,获取第一访问令牌或第二访问令牌包含的资源所有者和客户端相关的信息,而不需要去查询数据或请求RPC(Remote Procedure Call,远程过程调用)服务,实现了令牌内检。
例如,打包软件可以使用第二访问令牌向购物软件发送获取订单数据请求,购物软件可以对获取订单数据请求进行验证,若验证通过,购物软件向打包软件开放订单数据,打包软件可以获取该订单数据。
在步骤S410中,接收资源服务器响应获取资源请求返回的与获取资源申请对应的资源。
例如,打包软件可以接收购物软件返回的订单数据。
图5是根据一示例性实施方式示出的另一种资源访问的实现方法的流程图。
在示例性实施例中,授权信息包括授权期限。
其中,授权期限可以根据实际情况设置,例如可以为一周、一个月或者一年。
本公开实施例中,在图2所示的资源访问的实现方法的基础上,图5所示的资源访问的实现方法还可以包括以下步骤。
在步骤S502中,接收资源所有者的服务到期指令,服务到期指令包括服务到期时间。
本公开实施例中,服务到期指令可以根据资源所有者和客户端之间的订购关系确定,例如,资源所有者购买了客户端的会员,则在会员到期时可以触发服务到期指令。
在步骤S504中,若服务到期时间早于授权期限,向授权服务器发送令牌失效请求,以便授权服务器响应令牌失效请求使第一访问令牌和第一刷新令牌失效。
例如,资源所有者订购的客户端的会员已到期,而资源所有者对客户端的授权尚未到期时,客户端可以向授权服务器发送令牌失效请求,授权服务器接收到令牌失效请求后,可以使第一访问令牌和第一刷新令牌失效,第一访问令牌和第一刷新令牌失效后,客户端不能访问资源服务器上相应的资源,由此可以保证资源所有者在资源服务器上的资源的安全性。
本公开实施例中,客户端和授权服务器之间可以预先签署令牌撤回协议,在客户端主动发起令牌失效请求后,授权服务器应支持该令牌失效请求,并使授权服务器发出的令牌失效。
图6是根据一示例性实施方式示出的另一种资源访问的实现方法的流程图。
本公开实施例中,与图2所示的资源访问的实现方法不同的是,图6所示的资源访问的实现方法进一步提供了如何获取资源所有者的授权信息,也即提供了上述步骤S202的一种实施例。
如图6所示,步骤S202可以包括以下步骤。
在步骤S602中,获取资源所有者的第一登录信息。
本公开实施例中,第一登录信息可以包括资源所有者的用户名和密码。
在步骤S604中,向资源所有者发送授权请求。
本公开实施例中,客户端可以向资源所有者发送授权请求,例如,客户端可以以弹窗的方式向资源所有者发送授权请求,资源所有者在接收到授权请求后,可以选择授权或者不授权,若资源所有者选择授权,可以选择授权范围、授权权限等授权信息。
在步骤S606中,接收资源所有者响应授权请求返回的授权信息。
本公开实施例中,客户端可以接收资源所有者返回的授权范围、授权权限等授权信息。
图7是根据一示例性实施方式示出的另一种资源访问的实现方法的流程图。
在示例性实施例中,第一访问令牌和第二访问令牌包括资源所有者的第一登录信息和与资源所有者的第一登录信息对应的第一秘钥。
本公开实施例中,在图2所示的资源访问的实现方法的基础上,图7所示的资源访问的实现方法还可以包括以下步骤。
在步骤S702中,接收资源所有者的登录信息更改请求,登录信息更改请求包括资源所有者的第二登录信息。
本公开实施例中,登录信息更改请求可以为密码更改请求,第二登录信息可以包括用户名和修改后的密码。
在步骤S704中,根据第二登录信息,向授权服务器重新发送访问令牌申请请求,以使授权服务器生成包括第二秘钥的第三访问令牌,其中,第二秘钥与第二登录信息对应。
本公开实施例中,客户端可以根据第二登录信息向授权服务器重新发送访问令牌申请请求,授权服务器可以根据第二登录信息中修改后的密码生成包括第二秘钥的第三访问令牌。
本公开实施例中,第一秘钥与第一登录信息对应,第二秘钥与第二登录信息对应。每个访问令牌可以包括一个秘钥,每个秘钥可以对应一个资源所有者,也就是,每个访问令牌的秘钥粒度可以为用户级别,在资源所有者修改密码后,授权服务器可以生成根据修改后的密码新的访问令牌。
本公开实施例中,可以通过秘钥管理平台管理每个资源所有者的秘钥信息。在资源所有者修改密码的同时,可以重新发送一次秘钥,授权服务器可以根据重新发送的秘钥生成新的访问令牌,即第三访问令牌。
本公开实施例中,可以将用户密码作为访问令牌中的秘钥,这样,用户修改密码就相当于修改了秘钥。
本公开实施例中,客户端可以使用第三访问令牌向资源服务器发送获取资源请求,资源服务器可以对第三访问令牌进行解析,即对第三访问令牌进行内检,使用第三访问令牌中的用户名和修改后的密码在秘钥管理平台进行校验,若校验通过,则向客户端开放与获取资源请求对应的资源。
图8是根据一示例性实施方式示出的一种资源访问的实现方法的流程图。本公开实施例提供的方法可以由如图1所示的授权服务器中执行,但本公开并不限定于此。
如图8所示,本公开实施例提供的资源访问的实现方法可以包括以下步骤。
在步骤S802中,接收客户端发送的访问令牌申请请求。
本公开实施例中,授权服务器可以接收客户端发送的访问令牌申请请求。其中,访问令牌申请请求可以包括资源所有者的登录信息、资源所有者的授权信息和客户端的应用标识等。
在步骤S804中,根据访问令牌申请请求对客户端进行认证。
本公开实施例中,授权服务器可以根据访问令牌申请请求对客户端进行认证。其中,访问令牌申请请求可以包括资源所有者的登录信息、资源所有者的授权信息、客户端的应用标识和客户端的申请权限等等。
在步骤S806中,若对客户端认证通过,生成第一访问令牌和第一刷新令牌。
本公开实施例中,若授权服务器对客户端认证通过,则可以根据访问令牌申请请求生成第一访问令牌和第一刷新令牌。
本公开实施例中,通过生成第一访问令牌和第一刷新令牌,若第一访问令牌失效或即将失效时,可以使用第一刷新令牌重新生成第二访问令牌和第二刷新令牌,由此可以解决JWT结构化令牌无法在使用过程修改令牌状态的缺点。
本公开实施例中,在第一访问令牌和第一刷新令牌生成之后,若第一访问令牌被泄露,授权服务器可以主动让第一访问令牌和第一刷新令牌失效。
在步骤S808中,向客户端发送第一访问令牌、第一刷新令牌和第一访问令牌的过期时间。
本公开实施例中,授权服务器可以向客户端发送第一访问令牌、第一刷新令牌和第一访问令牌的过期时间,以便客户端保存第一访问令牌的过期时间,并根据第一访问令牌的过期时间检测第一访问令牌的有效性。
本公开实施例中,可以通过表单提交的方式传递第一访问令牌和第一刷新令牌,也可以通过Authorization(授权)的方式传递第一访问令牌和第一刷新令牌。其中,客户端和授权服务器可以约定采用表单提交的方式传递令牌,采用表单提交的方式传递令牌不仅可以保证令牌传输过程中的安全性,而且不需要额外处理Authorization的头部信息。
在步骤S810中,接收客户端发送的令牌刷新请求。
本公开实施例中,授权服务器可以接收客户端发送的令牌刷新请求,其中,令牌刷新请求可以根据第一访问令牌的过期时间确定,令牌刷新请求包括第一刷新令牌。
在步骤S812中,根据令牌刷新请求,生成第二访问令牌和第二刷新令牌。
本公开实施例中,授权服务器可以根据令牌刷新请求,重新生成新的、有效的第二访问令牌和第二刷新令牌。
在步骤S814中,向客户端发送第二访问令牌、第二刷新令牌和第二访问令牌的过期时间。
本公开实施例中,授权服务器可以向客户端发送第二访问令牌、第二刷新令牌和第二访问令牌的过期时间,以便客户端保存第二访问令牌的过期时间,并根据第二访问令牌的过期时间检测第二访问令牌的有效性。
需要注意的是,上述附图仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
下述为本公开装置实施例,可以用于执行本公开方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开方法实施例。
图9是根据一示例性实施方式示出的一种资源访问的实现装置的框图。
如图9所示,资源访问的实现装置900可以包括:授权信息获取模块901、申请请求发送模块902、第一令牌接收模块903、刷新请求发送模块904和第二令牌接收模块905。
其中,授权信息获取模块901可以用于获取资源所有者的授权信息,授权信息包括资源所有者的目标资源获取信息;申请请求发送模块902可以用于根据授权信息,向授权服务器发送访问令牌申请请求;第一令牌接收模块903可以用于接收授权服务器响应访问令牌申请请求返回的第一访问令牌、第一刷新令牌和第一访问令牌的过期时间,并保存第一访问令牌的过期时间;刷新请求发送模块904可以用于根据第一访问令牌的过期时间检测第一访问令牌,使用第一刷新令牌向授权服务器发送令牌刷新请求;第二令牌接收模块905可以用于接收授权服务器响应令牌刷新请求返回的第二访问令牌、第二刷新令牌和第二访问令牌的过期时间。
在示例性实施例中,刷新请求发送模块904可以包括:任务设置单元,可以用于以预设时间间隔设置定时检测任务;时间确定单元,可以用于根据第一访问令牌的过期时间,确定第一访问令牌的即将过期时间;刷新请求发送单元,可以用于若执行定时检测任务的时间超过第一访问令牌的即将过期时间,则使用第一刷新令牌向授权服务器发送令牌刷新请求。
在示例性实施例中,资源访问的实现装置900还可以包括:注册请求发送模块,可以用于向资源服务器对应的平台发送注册请求;应用标识接收模块,可以用于接收平台响应注册请求返回的应用标识,应用标识与资源服务器上的目标类型资源关联;资源请求生成模块,可以用于根据授权信息中的资源所有者的目标资源获取信息生成获取资源请求,获取资源请求包括应用标识。
在示例性实施例中,资源访问的实现装置900还可以包括:资源请求发送模块,可以用于使用第二访问令牌向资源服务器发送获取资源请求,以便资源服务器验证应用标识,并确定目标资源获取信息属于目标类型资源;资源接收模块,可以用于接收资源服务器响应获取资源请求返回的与获取资源申请对应的资源。
在示例性实施例中,授权信息包括授权期限,资源访问的实现装置900还可以包括:到期指令接收模块,可以用于接收资源所有者的服务到期指令,服务到期指令包括服务到期时间;失效请求发送模块,可以用于若服务到期时间早于授权期限,向授权服务器发送令牌失效请求,以便授权服务器响应令牌失效请求使第一访问令牌和第一刷新令牌失效。
在示例性实施例中,授权信息获取模块901可以包括:登录信息获取单元,可以用于获取资源所有者的第一登录信息;授权请求发送单元,可以用于向资源所有者发送授权请求;授权信息接收单元,可以用于接收资源所有者响应授权请求返回的授权信息。
在示例性实施例中,第一刷新令牌、第二刷新令牌、第一访问令牌和第二访问令牌均为结构化令牌,第一访问令牌包括第一访问令牌的有效期,第一刷新令牌包括第一刷新令牌的有效期,第一刷新令牌的有效期大于第一访问令牌的有效期,第二访问令牌包括第二访问令牌的有效期,第二刷新令牌包括第二刷新令牌的有效期,第二刷新令牌的有效期大于第二访问令牌的有效期,第一访问令牌和第二访问令牌包括资源所有者的第一登录信息和与资源所有者的第一登录信息对应的第一秘钥。
在示例性实施例中,资源访问的实现装置900还可以包括:更改请求接收模块,可以用于接收资源所有者的登录信息更改请求,登录信息更改请求包括资源所有者的第二登录信息;请求重新发送模块,可以用于根据第二登录信息,向授权服务器重新发送访问令牌申请请求,以使授权服务器生成包括第二秘钥的第三访问令牌,其中,第二秘钥与第二登录信息对应。
图10是根据一示例性实施方式示出的另一种资源访问的实现装置的框图。
如图10所示,资源访问的实现装置1000可以包括:申请请求接收模块1001、请求认证模块1002、第一令牌生成模块1003、第一令牌发送模块1004、刷新请求接收模块1005、第二令牌生成模块1006及第二令牌发送模块1007。
其中,申请请求接收模块1001可以用于接收客户端发送的访问令牌申请请求;请求认证模块1002可以用于根据访问令牌申请请求对客户端进行认证;第一令牌生成模块1003可以用于若对客户端认证通过,生成第一访问令牌和第一刷新令牌;第一令牌发送模块1004可以用于向客户端发送第一访问令牌、第一刷新令牌和第一访问令牌的过期时间;刷新请求接收模块1005可以用于接收客户端发送的令牌刷新请求;第二令牌生成模块1006可以用于根据令牌刷新请求,生成第二访问令牌和第二刷新令牌;第二令牌发送模块1007可以用于向客户端发送第二访问令牌、第二刷新令牌和第二访问令牌的过期时间。
需要注意的是,上述附图中所示的框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
图11是根据一示例性实施方式示出的一种电子设备的结构示意图。需要说明的是,图11示出的电子设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图11所示,电子设备1100包括中央处理单元(CPU)1101,其可以根据存储在只读存储器(ROM)1102中的程序或者从存储部分1108加载到随机访问存储器(RAM)1103中的程序而执行各种适当的动作和处理。在RAM 1103中,还存储有系统1100操作所需的各种程序和数据。CPU 1101、ROM 1102以及RAM 1103通过总线1104彼此相连。输入/输出(I/O)接口1105也连接至总线1104。
以下部件连接至I/O接口1105:包括键盘、鼠标等的输入部分1106;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1107;包括硬盘等的存储部分1108;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1109。通信部分1109经由诸如因特网的网络执行通信处理。驱动器1110也根据需要连接至I/O接口1105。可拆卸介质1111,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1110上,以便于从其上读出的计算机程序根据需要被安装入存储部分1108。
特别地,根据本发明的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1109从网络上被下载和安装,和/或从可拆卸介质1111被安装。在该计算机程序被中央处理单元(CPU)1101执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括发送单元、获取单元、确定单元和第一处理单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,发送单元还可以被描述为“向所连接的服务端发送图片获取请求的单元”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:获取资源所有者的授权信息,授权信息包括资源所有者的目标资源获取信息;根据授权信息,向授权服务器发送访问令牌申请请求;接收授权服务器响应访问令牌申请请求返回的第一访问令牌、第一刷新令牌和第一访问令牌的过期时间,并保存第一访问令牌的过期时间;根据第一访问令牌的过期时间检测第一访问令牌,使用第一刷新令牌向授权服务器发送令牌刷新请求;接收授权服务器响应令牌刷新请求返回的第二访问令牌、第二刷新令牌和第二访问令牌的过期时间。
以上具体地示出和描述了本发明的示例性实施方式。应可理解的是,本发明不限于这里描述的详细结构、设置方式或实现方法;相反,本发明意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。
Claims (13)
1.一种资源访问的实现方法,其特征在于,包括:
获取资源所有者的授权信息,所述授权信息包括所述资源所有者的目标资源获取信息;
根据所述授权信息,向授权服务器发送访问令牌申请请求;
接收所述授权服务器响应所述访问令牌申请请求返回的第一访问令牌、第一刷新令牌和所述第一访问令牌的过期时间,并保存所述第一访问令牌的过期时间;
根据所述第一访问令牌的过期时间检测所述第一访问令牌,使用所述第一刷新令牌向所述授权服务器发送令牌刷新请求;
接收所述授权服务器响应所述令牌刷新请求返回的第二访问令牌、第二刷新令牌和所述第二访问令牌的过期时间。
2.根据权利要求1所述的方法,其特征在于,根据所述第一访问令牌的过期时间,使用所述第一刷新令牌向所述授权服务器发送令牌刷新请求,包括:
以预设时间间隔设置定时检测任务;
根据所述第一访问令牌的过期时间,确定所述第一访问令牌的即将过期时间;
若执行所述定时检测任务的时间超过所述第一访问令牌的即将过期时间,则使用所述第一刷新令牌向所述授权服务器发送令牌刷新请求。
3.根据权利要求1所述的方法,其特征在于,还包括:
向所述资源服务器对应的平台发送注册请求;
接收所述平台响应所述注册请求返回的应用标识,所述应用标识与所述资源服务器上的目标类型资源关联;
根据所述授权信息中的所述资源所有者的目标资源获取信息生成获取资源请求,所述获取资源请求包括所述应用标识。
4.根据权利要求3所述的方法,其特征在于,还包括:
使用所述第二访问令牌向所述资源服务器发送获取资源请求,以便所述资源服务器验证所述应用标识,并确定所述目标资源获取信息属于所述目标类型资源;
接收所述资源服务器响应所述获取资源请求返回的与所述获取资源申请对应的资源。
5.根据权利要求1所述的方法,其特征在于,所述授权信息包括授权期限,所述方法还包括:
接收所述资源所有者的服务到期指令,所述服务到期指令包括服务到期时间;
若所述服务到期时间早于所述授权期限,向所述授权服务器发送令牌失效请求,以便所述授权服务器响应所述令牌失效请求使所述第一访问令牌和所述第一刷新令牌失效。
6.根据权利要求1所述的方法,其特征在于,获取资源所有者的授权信息,包括:
获取所述资源所有者的第一登录信息;
向所述资源所有者发送授权请求;
接收所述资源所有者响应所述授权请求返回的所述授权信息。
7.根据权利要求6所述的方法,其特征在于,所述第一刷新令牌、所述第二刷新令牌、所述第一访问令牌和所述第二访问令牌均为结构化令牌,所述第一访问令牌包括所述第一访问令牌的有效期,所述第一刷新令牌包括所述第一刷新令牌的有效期,所述第一刷新令牌的有效期大于所述第一访问令牌的有效期,所述第二访问令牌包括所述第二访问令牌的有效期,所述第二刷新令牌包括所述第二刷新令牌的有效期,所述第二刷新令牌的有效期大于所述第二访问令牌的有效期,所述第一访问令牌和所述第二访问令牌包括所述资源所有者的第一登录信息和与所述资源所有者的第一登录信息对应的第一秘钥。
8.根据权利要求7所述的方法,其特征在于,还包括:
接收所述资源所有者的登录信息更改请求,所述登录信息更改请求包括所述资源所有者的第二登录信息;
根据所述第二登录信息,向所述授权服务器重新发送访问令牌申请请求,以使所述授权服务器生成包括第二秘钥的第三访问令牌,其中,所述第二秘钥与所述第二登录信息对应。
9.一种资源访问的实现方法,其特征在于,包括:
接收客户端发送的访问令牌申请请求;
根据所述访问令牌申请请求对所述客户端进行认证;
若对所述客户端认证通过,生成第一访问令牌和第一刷新令牌;
向所述客户端发送所述第一访问令牌、所述第一刷新令牌和所述第一访问令牌的过期时间;
接收所述客户端发送的令牌刷新请求;
根据所述令牌刷新请求,生成第二访问令牌和第二刷新令牌;
向所述客户端发送所述第二访问令牌、所述第二刷新令牌和所述第二访问令牌的过期时间。
10.一种资源访问的实现装置,其特征在于,包括:
授权信息获取模块,用于获取资源所有者的授权信息,所述授权信息包括所述资源所有者的目标资源获取信息;
申请请求发送模块,用于根据所述授权信息,向授权服务器发送访问令牌申请请求;
第一令牌接收模块,用于接收所述授权服务器响应所述访问令牌申请请求返回的第一访问令牌、第一刷新令牌和所述第一访问令牌的过期时间,并保存所述第一访问令牌的过期时间;
刷新请求发送模块,用于根据所述第一访问令牌的过期时间检测所述第一访问令牌,使用所述第一刷新令牌向所述授权服务器发送令牌刷新请求;
第二令牌接收模块,用于接收所述授权服务器响应所述令牌刷新请求返回的第二访问令牌、第二刷新令牌和所述第二访问令牌的过期时间。
11.一种资源访问的实现装置,其特征在于,包括:
申请请求接收模块,用于接收客户端发送的访问令牌申请请求;
请求认证模块,用于根据所述访问令牌申请请求对所述客户端进行认证;
第一令牌生成模块,用于若对所述客户端认证通过,生成第一访问令牌和第一刷新令牌;
第一令牌发送模块,用于向所述客户端发送所述第一访问令牌、所述第一刷新令牌和所述第一访问令牌的过期时间;
刷新请求接收模块,用于接收所述客户端发送的令牌刷新请求;
第二令牌生成模块,用于根据所述令牌刷新请求,生成第二访问令牌和第二刷新令牌;
第二令牌发送模块,用于向所述客户端发送所述第二访问令牌、所述第二刷新令牌和所述第二访问令牌的过期时间。
12.一种电子设备,其特征在于,包括:
至少一个处理器;
存储装置,用于存储至少一个程序,当所述至少一个程序被所述至少一个处理器执行时,使得所述至少一个处理器实现如权利要求1至9中任一项所述的方法。
13.一种计算机可读存储介质,其上存储有计算机可执行指令,其特征在于,所述可执行指令被处理器执行时实现如权利要求1至9任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110050321.2A CN114764507A (zh) | 2021-01-14 | 2021-01-14 | 资源访问的实现方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110050321.2A CN114764507A (zh) | 2021-01-14 | 2021-01-14 | 资源访问的实现方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114764507A true CN114764507A (zh) | 2022-07-19 |
Family
ID=82362961
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110050321.2A Pending CN114764507A (zh) | 2021-01-14 | 2021-01-14 | 资源访问的实现方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114764507A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115296877A (zh) * | 2022-07-25 | 2022-11-04 | 紫光云技术有限公司 | 一种jwt存储令牌失效与续期的方法 |
-
2021
- 2021-01-14 CN CN202110050321.2A patent/CN114764507A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115296877A (zh) * | 2022-07-25 | 2022-11-04 | 紫光云技术有限公司 | 一种jwt存储令牌失效与续期的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11218460B2 (en) | Secure authentication for accessing remote resources | |
CN111639319B (zh) | 用户资源授权方法、装置及计算机可读存储介质 | |
US10666657B1 (en) | Token-based access control and grouping | |
US10715514B1 (en) | Token-based credential renewal service | |
CN112136303B (zh) | 用于耗时操作的刷新令牌的安全委托 | |
WO2017028804A1 (zh) | 一种Web实时通信平台鉴权接入方法及装置 | |
US10673862B1 (en) | Token-based access tracking and revocation | |
CN107347068A (zh) | 单点登录方法及系统、电子设备 | |
US9584615B2 (en) | Redirecting access requests to an authorized server system for a cloud service | |
CN104954330B (zh) | 一种对数据资源进行访问的方法、装置和系统 | |
CN105991614B (zh) | 一种开放授权、资源访问的方法及装置、服务器 | |
US20100077467A1 (en) | Authentication service for seamless application operation | |
CN103685139A (zh) | 认证授权处理方法及装置 | |
US10262146B2 (en) | Application-to-application messaging over an insecure application programming interface | |
US11277404B2 (en) | System and data processing method | |
CN112866385B (zh) | 接口调用方法、装置、电子设备和存储介质 | |
CN112491778A (zh) | 认证方法、装置、系统及介质 | |
KR101824562B1 (ko) | 인증 게이트웨이 및 인증 게이트웨이의 인증 방법 | |
CN111585970A (zh) | 一种令牌的验证方法和装置 | |
CN113821784A (zh) | 多系统单点登录方法、装置及计算机可读存储介质 | |
CN111949959A (zh) | Oauth协议中的授权认证方法及装置 | |
CN111698264A (zh) | 用于保持用户认证会话的方法和装置 | |
CN114584381A (zh) | 基于网关的安全认证方法、装置、电子设备和存储介质 | |
CN114125027A (zh) | 一种通信建立方法、装置、电子设备及存储介质 | |
CN114764507A (zh) | 资源访问的实现方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |