CN112000951B - 一种访问方法、装置、系统、电子设备及存储介质 - Google Patents

一种访问方法、装置、系统、电子设备及存储介质 Download PDF

Info

Publication number
CN112000951B
CN112000951B CN202010895806.7A CN202010895806A CN112000951B CN 112000951 B CN112000951 B CN 112000951B CN 202010895806 A CN202010895806 A CN 202010895806A CN 112000951 B CN112000951 B CN 112000951B
Authority
CN
China
Prior art keywords
access
applet
target
signature information
application program
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.)
Active
Application number
CN202010895806.7A
Other languages
English (en)
Other versions
CN112000951A (zh
Inventor
王欣鑫
雷震宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Sensetime Intelligent Technology Co Ltd
Original Assignee
Shanghai Sensetime Intelligent Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Sensetime Intelligent Technology Co Ltd filed Critical Shanghai Sensetime Intelligent Technology Co Ltd
Priority to CN202010895806.7A priority Critical patent/CN112000951B/zh
Publication of CN112000951A publication Critical patent/CN112000951A/zh
Application granted granted Critical
Publication of CN112000951B publication Critical patent/CN112000951B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/54Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by adding security routines or objects to programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing 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/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Storage Device Security (AREA)

Abstract

本公开提供了一种访问方法、装置、系统、电子设备及存储介质,应用于第三方登录服务器,第三方登录服务器中存储有小程序前端对应的访问权限信息,访问权限信息由身份识别与访问管理IAM系统为小程序前端预先配置,访问方法包括:响应来自小程序前端的登录请求,并为小程序前端中通过认证的目标小程序前端分配令牌;接收通过目标小程序前端发送的签名信息获取请求,签名信息获取请求携带有令牌;基于令牌对目标小程序前端进行认证,并在认证通过后,基于目标小程序前端对应的访问权限信息,生成第一签名信息;向目标小程序前端返回第一签名信息;第一签名信息用于通过目标小程序前端向IAM系统发起访问请求。

Description

一种访问方法、装置、系统、电子设备及存储介质
技术领域
本公开涉及互联网技术领域,具体而言,涉及一种访问方法、装置、系统、电子设备及存储介质。
背景技术
相比应用程序(Application,App),小程序前端获取方式简便、占用内存较少、开发周期短,因此越来越多的小程序前端应运而生。
开放性应用程序编程接口Open API可以提供多个应用程序接口供用户端访问,在针对具有Open API的API进行访问时,需要通过Open API对应的身份识别与访问管理(Identity and Access Management,IAM)系统进行授权认证。
通常,可以通过访问浏览器的方式对Open API进行认证访问,或者基于IAM系统提供的密钥对Open API进行认证访问,然而对于小程序前端而言,目前并没有相应的认证访问方式,因此,亟需提供一种适用于小程序前端的认证访问方案。
发明内容
本公开实施例至少提供一种访问方案。
第一方面,本公开实施例提供了一种访问方法,应用于第三方登录服务器,所述第三方登录服务器中存储有小程序前端对应的访问权限信息,所述访问权限信息由身份识别与访问管理IAM系统为所述小程序前端预先配置,且所述访问权限信息用于指示通过所述小程序前端访问目标应用程序接口的访问权限,所述访问方法包括:
响应来自所述小程序前端的登录请求,并为所述小程序前端中通过认证的目标小程序前端分配令牌;接收通过所述目标小程序前端发送的签名信息获取请求,所述签名信息获取请求携带有所述令牌;基于所述令牌对所述目标小程序前端进行认证,并在认证通过后,基于所述目标小程序前端对应的所述访问权限信息,生成第一签名信息;向所述目标小程序前端返回所述第一签名信息;所述第一签名信息用于通过所述目标小程序前端向所述IAM系统发起访问请求。
本公开实施例中,在小程序前端请求访问应用程序接口的过程中,可以通过第三方登录服务器预先保存小程序前端对于应用程序接口的访问权限信息,通过该方式为小程序前端向IAM系统进行认证的签名信息,该过程无需小程序前端保存用于请求IAM系统进行认证的访问权限信息,从而保证目标小程序前端在访问应用程序接口的认证过程中,减小因泄露访问权限信息造成的应用程序接口被非法访问的情况,从而保障应用程序接口的安全性。
在一种可能的实施方式中,所述小程序前端运行于应用程序上,所述响应来自所述小程序前端的登录请求,并为所述小程序前端中通过认证的目标小程序前端分配令牌,包括:
响应来自所述小程序前端的登录请求,向所述应用程序对应的应用服务器发起认证请求;为所述小程序前端中通过所述应用服务器认证的目标小程序前端,生成所述令牌,并向所述目标小程序前端发送所述令牌。
本公开实施例中,在接收到小程序前端的登录请求后,通过该小程序运行的应用程序对应的应用服务器进行认证,并为通过认证的目标小程序前端分配令牌,后续可以直接通过令牌验证目标小程序前端为合法登录状态后为目标小程序前端进行资源服务,无需再基于目标小程序前端的用户名和密码进行验证,在保证登录安全的情况下提高验证效率。
在一种可能的实施方式中,所述向所述应用程序对应的应用服务器发起认证请求,包括:
获取所述登录请求中的登录凭证;基于所述登录凭证、预先保存的所述应用服务器为所述目标小程序前端分配的账户数据,请求所述应用服务器对所述目标小程序前端进行认证;在所述向所述应用程序对应的应用服务器发起认证请求之后,所述访问方法还包括:
在接收到所述应用服务器反馈的针对所述目标小程序前端的开放性标识符的情况下,确定所述目标小程序前端通过所述应用服务器的认证。
在一种可能的实施方式中,所述访问权限信息包括所述IAM系统为所述小程序前端预先配置的密钥对;所述签名信息获取请求中还包括:所述目标小程序前端请求访问的目标应用程序接口的网页地址和访问参数信息;
所述基于所述目标小程序前端对应的所述访问权限信息,生成第一签名信息,包括:
按照所述IAM系统预先设定的签名方式,基于所述目标应用程序接口的网页地址、所述访问参数信息和所述目标小程序前端对应的密钥对,生成所述第一签名信息。
本公开实施例,提出基于目标应用程序接口的网页地址、访问参数信息和密钥对来生成第一签名信息,这样可以对目标应用程序接口的网页地址、访问参数信息以及密钥对进行加密保护,防止被非法篡改,从而提高在针对目标应用程序接口进行访问时的安全性。
在一种可能的实施方式中,所述向所述目标小程序前端返回所述第一签名信息,包括:
向所述目标小程序前端返回所述第一签名信息和所述第一签名信息对应的生成时间戳;所述生成时间戳用于所述IAM系统对所述目标小程序前端发起的访问请求进行有效时长验证。
本公开实施例中,通过增加第一签名信息对应的生成时间戳对第一签名信息增加有效期限,避免第一签名信息被泄露或者被重复使用,从而提高在对开放性应用程序接口进行访问时的安全性。
第二方面,本公开实施例提供了一种访问方法,应用于身份识别与访问管理IAM系统,所述访问方法包括:
接收目标小程序前端发送的访问请求,所述访问请求携带有第一签名信息和目标应用程序接口标识;基于所述第一签名信息对所述目标小程序前端进行认证,并在所述目标小程序前端认证通过后,调用所述目标应用程序接口标识对应的目标应用程序接口,获取所述访问请求对应的业务数据,并向所述目标小程序前端返回所述业务数据。
本公开实施例中,在接收到目标小程序前端发送的访问请求时,可以基于该访问请求中包含的第一签名信息对该目标小程序前端的访问请求进行认证,在确定该目标小程序前端具有访问目标应用程序接口的权限后,再调用目标应用程序接口获取对应的业务数据,从而提高IAM系统中的业务数据的安全性。
在一种可能的实施方式中,所述第一签名信息中包含存取密钥标识,所述访问请求中还包括所述目标应用程序接口的网页地址和访问参数信息;
所述基于所述第一签名信息对所述目标小程序前端进行认证,包括:
提取所述第一签名信息中包含的所述存取密钥标识,并获取与所述存取密钥标识对应的非公开存取密钥;所述存取密钥标识和对应的所述非公开存取密钥是由所述IAM系统为所述目标小程序前端预先配置、并保存在所述目标小程序前端对应第三方登录服务器的访问权限信息中;按照所述IAM系统预先设定的签名方式,基于所述目标应用程序接口的网页地址、所述访问参数信息、所述存取密钥标识和所述非公开存取密钥,生成第二签名信息;基于所述第一签名信息和所述第二签名信息,对所述目标小程序前端进行认证。
本公开实施例中,提出按照与生成第一签名信息相同的签名方式,基于访问请求中包含的目标应用程序接口的网页地址和访问参数信息,以及与存取密钥标识对应的非公开存取密钥,重新进行签名得到第二签名信息,一方面可以基于第一签名信息和第二签名信息对目标小程序前端的访问进行认证,另一方面在认证过程中未对非公开存取密钥进行公开,有效防止非公开存取密钥被泄露。
在一种可能的实施方式中,所述访问请求中还包括所述第一签名信息的生成时间戳,所述基于所述第一签名信息和所述第二签名信息,对所述目标小程序前端进行认证,包括:
比较所述第一签名信息和所述第二签名信息是否匹配,以及所述第一签名信息的生成时间戳指示的时刻与当前时刻之间的时间差是否小于预设时间差;在确定所述第一签名信息和所述第二签名信息匹配,且所述时间差小于所述预设时间差的情况下,确定所述目标小程序前端的进行认证的结果为认证通过。
本公开实施例中,可以通过第一签名信息对应的生成时间戳确定该目标小程序前端发送的访问请求是否过期,比如接收到的第一签名信息的生成时间戳的对应时刻和IAM系统中的当前时刻之间的时间差较长时,确定该第一签名信息大概率不是本次请求访问IAM系统的应用程序接口时生成的,可能是其它非法用户盗用的第一签名信息,或者是用户重复使用的已经过期的第一签名信息,因此通过验证第一签名信息对应的生成时间戳可以避免第一签名信息被泄露或者被重复使用,从而保证小程序前端访问Open API时的安全性。
在一种可能的实施方式追踪,在所述目标小程序前端认证通过后,调用所述目标应用程序接口标识对应的目标应用程序接口,获取所述访问请求对应的业务数据之前,所述访问方法还包括:
基于所述存取密钥标识,确定针对所述目标小程序前端授权的应用程序接口集;确定所述应用程序接口集中存在与所述访问请求中携带的所述目标应用程序接口标识对应的目标应用程序接口。
本公开实施例中,提出通过存取密钥标识验证目标小程序前端具有针对目标应用程序接口的访问权限后,再调用目标应用程序接口获取访问请求对应的业务数据,从而保证IAM系统中的业务数据的安全性。
第三方面,本公开实施例提供了一种访问方法,应用于目标小程序前端,所述访问方法包括:
响应于登录触发操作,向目标小程序前端对应的第三方登录服务器发送登录请求;所述登录请求用于所述第三方登录服务器在所述目标小程序前端通过认证后,为所述目标小程序前端分配令牌;接收到所述第三方登录服务器分配的所述令牌后,向所述第三方登录服务器发送携带所述令牌的签名信息获取请求,所述令牌用于所述第三方登录服务器对所述目标小程序前端进行认证通过后,基于预先存储的所述目标小程序前端对应的访问权限信息,生成第一签名信息;所述访问权限信息由身份识别与访问管理IAM系统为所述目标小程序前端预先配置;接收到所述第一签名信息后,向目标应用程序接口的身份识别与访问管理IAM系统发送携带所述第一签名信息和目标应用程序接口标识的访问请求,以通过调用所述目标应用程序接口标识对应的目标应用程序接口获取所述访问请求对应的业务数据。
本公开实施例中,目标小程序前端在请求访问目标应用程序接口的过程中,通过第三方登录服务器来保存IAM系统预先分配的访问权限信息,这样目标小程序前端在对目标应用程序接口进行访问认证过程中,可以基于该访问权限信息进行加密生成第一签名信息,目标小程序前端可以基于该第一签名信息对IAM系统进行访问认证,该过程无需目标小程序前端保存访问权限信息,避免访问过程丢失访问权限信息中的非公开存取密钥导致目标应用程序接口被非法访问,从而提高针对目标应用程序接口的访问安全性。
第四方面,本公开实施例提供了一种访问装置,应用于第三方登录服务器,所述第三方登录服务中存储有小程序前端对应的访问权限信息,所述访问权限信息由身份识别与访问管理IAM系统为所述小程序前端预先配置,且所述访问权限信息用于指示通过所述小程序前端访问目标应用程序接口的访问权限,所述访问装置包括:
分配模块,用于响应来自所述小程序前端的登录请求,并为所述小程序前端中通过认证的目标小程序前端分配令牌;接收模块,用于接收通过所述目标小程序前端发送的签名信息获取请求,所述签名信息获取携带有所述令牌;生成模块,用于基于所述令牌对所述目标小程序前端进行认证,并在认证通过后,基于所述目标小程序前端对应的所述访问权限信息,生成第一签名信息;发送模块,用于向所述目标小程序前端返回所述第一签名信息;所述第一签名信息用于通过所述目标小程序前端向所述IAM系统发起访问请求。
第五方面,本公开实施例提供了一种访问装置,应用于身份识别与访问管理IAM系统,所述访问装置包括:
接收模块,用于接收目标小程序前端发送的访问请求,所述访问请求携带有第一签名信息和目标应用程序接口标识;认证模块,用于基于所述第一签名信息对所述目标小程序前端进行认证,并在所述目标小程序前端认证通过后,调用所述目标应用程序接口标识对应的目标应用程序接口,获取所述访问请求对应的业务数据,并向所述目标小程序前端返回所述业务数据。
第六方面,本公开实施例提供了一种访问装置,应用于目标小程序前端,所述访问装置包括:
登录请求模块,用于响应于登录触发操作,向目标小程序前端对应的第三方登录服务器发送登录请求;所述登录请求用于所述第三方登录服务器在所述目标小程序前端通过认证后,为所述目标小程序前端分配令牌;签名请求模块,用于接收到所述第三方登录服务器分配的所述令牌后,向所述第三方登录服务器发送携带所述令牌的签名信息获取请求,所述令牌用于所述第三方登录服务器对所述目标小程序前端进行认证通过后,基于预先存储的所述目标小程序前端对应的访问权限信息,生成第一签名信息;所述访问权限信息由身份识别与访问管理IAM系统为所述目标小程序前端预先配置;访问请求模块,用于接收到所述第一签名信息后,向目标应用程序接口的身份识别与访问管理IAM系统发送携带所述第一签名信息和目标应用程序接口标识的访问请求,以通过调用所述目标应用程序接口标识对应的目标应用程序接口获取所述访问请求对应的业务数据。
第七方面,本公开实施例提供了一种访问系统,包括目标小程序前端、目标小程序前端对应的第三方登录服务器和目标应用程序接口的身份识别与访问管理IAM系统;
所述目标小程序前端,用于响应于登录触发操作,向所述第三方登录服务器发送登录请求;接收到所述第三方登录服务器分配的令牌后,向所述第三方登录服务器发送携带所述令牌的签名信息获取请求,接收到第一签名信息后,向所述IAM系统发送携带所述第一签名信息和目标应用程序接口标识的访问请求,以通过调用所述目标应用程序接口标识对应的目标应用程序接口获取所述访问请求对应的业务数据;所述第三方登录服务器,用于响应来自所述小程序前端的登录请求,并为所述小程序中通过认证的目标小程序前端分配令牌;接收所述目标小程序前端发送的携带有所述令牌的签名信息获取请求;基于所述令牌对所述目标小程序前端进行认证,并在认证通过后,基于预先存储的所述目标小程序前端对应的访问权限信息,生成第一签名信息,向所述目标小程序前端返回所述第一签名信息;所述访问权限信息由所述IAM系统为所述小程序前端预先配置;所述IAM系统,用于接收目标小程序前端发送的携带有第一签名信息和目标应用程序接口标识的访问请求;基于所述第一签名信息对所述目标小程序前端进行认证,并在认证通过后,调用目标应用程序接口标识对应的目标应用程序接口获取所述访问请求对应的业务数据,并将所述业务数据返回给所述目标小程序前端。
本公开实施例中,在针对小程序前端访问应用程序接口的认证过程中,通过第三方登录服务器来保存IAM系统为目标小程序前端预先配置的对于目标应用程序接口的访问权限信息,并对该访问权限信息中的非公开存取密钥进行加密处理,该过程可以降低非公开存取密钥被泄露造成的应用程序接口被非法访问的情况,从而保障应用程序接口的安全性。
第八方面,本公开实施例提供了一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如第一方面至第三方面任一所述的访问方法的步骤。
第九方面,本公开实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如第一方面至第三方面任一所述的访问方法的步骤。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本公开实施例所提供的第一种访问方法的流程图;
图2示出了本公开实施例所提供的一种生成令牌的方法的流程图;
图3示出了本公开实施例所提供的第二种访问方法的流程图;
图4示出了本公开实施例所提供的一种具体的访问方法流程图;
图5示出了本公开实施例所提供的另一种确定具体的访问方法流程图;
图6示出了本公开实施例所提供的第三种访问方法的流程图;
图7示出了本公开实施例所提供的一种访问系统结构示意图;
图8示出了本公开实施例所提供的一种访问系统对应的访问流程示意图;
图9示出了本公开实施例所提供的第一种访问装置结构示意图;
图10示出了本公开实施例所提供的第二种访问装置结构示意图;
图11示出了本公开实施例所提供的第三种访问装置结构示意图;
图12示出了本公开实施例所提供的第一种电子设备的结构示意图;
图13示出了本公开实施例所提供的第二种电子设备的结构示意图;
图14示出了本公开实施例所提供的第三种电子设备的结构示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
Open API可为开发人员提供专用软件应用程序或web服务的编程访问,对于OpenAPI的访问需要通过该Open API对应的IAM系统的授权认证,一般情况下,进行访问OpenAPI的客户端可以通过浏览器对IAM系统进行访问认证,或者通过预先保存的IAM系统配置的访问权限信息(存取密钥标识Access Key ID和与Access Key ID对应的非公开存取密钥Secret Access Key)进行访问认证。
通过浏览器对IAM系统进行访问认证时,需要跳转至IAM系统的登录页面,针对不支持跳转外部链接小程序前端而言,无法跳转至IAM系统的登录页面进行访问,另外,考虑到小程序前端一种基于web访问的应用程序,如果将IAM系统配置的访问权限信息保存在小程序前端,容易泄露非公开存取密钥Secret Access Key,导致不法用户基于泄露的非公开存取密钥攻击IAM系统提供的Open API,因此小程序前端通过保存访问权限信息来访问IAM系统提供的Open API时,容易降低IAM系统的安全性。
基于上述研究,本公开提供了一种针对小程序前端对IAM系统提供的Open API的访问方法,将IAM系统为小程序前端预先配置的针对应用程序接口的访问权限信息,比如将访问权限信息保存在用于管理小程序前端的登录认证流程的第三方登录服务器中,第三方登录服务器在处理小程序前端针对应用程序接口的认证访问时,会为通过的认证的目标小程序前端后分配令牌,该令牌可以向第三方登录服务器指示目标小程序前端属于合法的登录状态,进一步可以在接收到目标小程序前端针对应用程序接口的访问发起的签名信息获取请求时,可以基于该令牌在确定目标小程序前端为合法登录状态的情况下,基于预先保存的目标小程序前端对于应用程序接口的访问权限信息,生成签名信息,这样目标小程序前端可以通过该签名信息向IAM系统发起访问请求。
可见,本公开实施例中,在小程序前端请求访问应用程序接口的过程中,可以通过第三方登录服务器预先保存小程序前端对于应用程序接口的访问权限信息,通过该方式为小程序前端向IAM系统进行认证的签名信息,该过程无需小程序前端保存用于请求IAM系统进行认证的访问权限信息,从而保证目标小程序前端在访问应用程序接口的认证过程中,减小因泄露访问权限信息造成的应用程序接口被非法访问的情况,从而保障应用程序接口的安全性。
便于对本实施例进行理解,首先对本公开实施例所公开的一种访问方法进行详细介绍,本公开实施例所提供的访问方法的执行主体一般为具有一定计算能力的计算机设备,比如服务器。在一些可能的实现方式中,该访问方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
参见图1所示,为本公开实施例提供的访问方法的流程图,该访问方法应用于第三方登录服务器,第三方登录服务器中存储有小程序前端对应的访问权限信息,该访问权限信息由身份识别与访问管理IAM系统为小程序前端预先配置,且该访问权限信息用于指示通过小程序前端访问目标应用程序接口的访问权限,该访问方法包括以下步骤S101~S104:
S101,响应来自小程序前端的登录请求,并为小程序前端中通过认证的目标小程序前端分配令牌。
示例性地,小程序前端可以为基于应用程序APP开发的小程序的客户端,第三方登录服务器与小程序前端对应,用于管理小程序前端的登录认证流程。
示例性地,小程序前端在响应于登录触发操作时,可以向对应的第三方登录服务器发送登录请求,请求登录第三方登录服务器,考虑到小程序前端是基于应用程序APP开发的,因此可以在通过小程序前端运行的应用程序对应的应用服务器的认证后,再由第三方登录服务器为通过认证的小程序前端,即目标小程序前端分配令牌Token,第三方登录服务器为目标小程序前端分配的Token可以作为指示目标小程序前端为合法登录状态的凭证。
特别地,第三方登录服务器向目标小程序前端发送Token时,是通过开放式标准(JSON Web Token,JWT)进行发送的,该方式以JSON格式进行传输,传输方式简便安全。
示例性地,第三方登录服务器后续在接收到目标小程序前端发送的资源服务请求时,可以通过资源服务请求中携带的Token来直接确定该目标小程序前端是否为合法的登录状态,具体地,Token可以是由第三方登录服务器生成的字符串,可以作为允许该目标小程序前端对第三方登录服务器进行资源服务请求的通行令牌,在将该Token发送至目标小程序前端后,当目标小程序前端问第三方登录服务器请求资源服务时,可以基于该Token来证明已经是合法登录第三方登录服务器的身份。
S102,接收通过目标小程序前端发送的签名信息获取请求,该签名信息获取请求携带有令牌。
示例性地,本公开实施例主要是指针对目标开放性应用程序接口Open API的访问,以下可以将应用程序接口简称为Open API,在目标小程序前端请求访问目标Open API之前,首先需要向第三方登录服务器发送携带有Token的签名信息获取请求,以请求第三方登录服务器在基于该Token确定目标小程序前端为合法登录第三方登录服务器的身份后,为该目标小程序前端生成签名信息,目标小程序前端可以基于该签名信息向IAM系统发送用于访问目标Open API的访问请求,IAM系统可以基于该签名信息对目标小程序前端进行认证,确定是否具有访问目标Open API的权限。
S103,基于令牌对目标小程序前端进行认证,并在认证通过后,基于目标小程序前端对应的访问权限信息,生成第一签名信息。
示例性地,第三方登录服务器在接收到目标小程序前端发送的签名信息获取请求时,可以基于该签名信息获取请求中包含的Token,对该目标小程序前端的身份进行验证,在确定该目标小程序前端的身份合法后(即第三方登录服务器确定发送签名信息获取请求的目标小程序前端为可信任的小程序前端),再基于预先保存的目标小程序前端对于目标Open API的访问权限信息,生成第一签名信息。
示例性地,第三方登录服务器中存储的小程序前端对应的访问权限信息可以包括IAM系统为小程序前端预先配置的针对目标Open API进行访问时用于进行访问验证的密钥对,比如可以包括Access Key ID和与该Access Key ID对应的Secret Access Key,进一步可以基于Access Key ID和Secret Access Key,生成第一签名信息。
示例性地,密钥对中的Access Key ID是IAM系统为每个可以访问Open API的用户分配的用于标识身份的ID,Secret Access Key为该IAM系统为用户分配的与Access KeyID对应的非公开存取密钥,具体地,密钥对可以是用户在向IAM系统进行注册成功后,由IAM系统为用户分配的访问权限信息,针对小程序前端,分配的访问权限信息会保存在小程序前端对应的第三方登录服务器中,在小程序前端请求访问Open API时,再由第三方登录服务器基于该访问权限信息为小程序前端生成用于向IAM系统进行身份校验的签名信息。
特别地,为了防止Secret Access Key在传输过程中被泄露导致非法用户访问Open API,在基于Access Key ID和Secret Access Key生成第一签名信息时,会对SecretAccess Key进行加密处理。
S104,向目标小程序前端返回第一签名信息;第一签名信息用于通过目标小程序前端向IAM系统发起访问请求。
目标小程序前端收到第一签名信息后,可以向IAM系统发送携带该第一签名信息的访问请求,具体可以向IAM系统中的IAM网关发送该访问请求,并在IAM网关基于该第一签名信息对该目标小程序前端进行认证通过后,通过调用目标Open API来获取需要的业务数据。
本公开实施例中,在小程序前端请求访问应用程序接口的过程中,可以通过第三方登录服务器预先保存小程序前端对于应用程序接口的访问权限信息,通过该方式为小程序前端向IAM系统进行认证的签名信息,该过程无需小程序前端保存用于请求IAM系统进行认证的访问权限信息,从而保证目标小程序前端在访问应用程序接口的认证过程中,减小因泄露访问权限信息造成的应用程序接口被非法访问的情况,从而保障应用程序接口的安全性。
下面将结合具体实施例对上述S101~S104进行详细说明。
针对小程序前端运行于应用程序上,在响应来自小程序前端的登录请求,并未小程序前端中通过认证的目标小程序前端分配令牌时,如图2所示,可以包括以下步骤S1011~S1012:
S1011,响应来自小程序前端的登录请求,向应用程序对应的应用服务器发起认证请求;
S1012,为小程序前端中通过应用服务器认证的目标小程序前端,生成令牌,并向目标小程序前端发送令牌。
小程序前端需要在应用程序上运行,因此第三方登录服务器接收到来自小程序前端的登录请求后,会向小程序前端的运行应用程序对应的应用服务器发起认证请求,通过该应用服务器来验证该小程序前端的身份是否合法,通过应用服务器认证小程序前端作为目标小程序前端,并为目标小程序前端生成令牌Token。
本公开实施例中,在接收到小程序前端的登录请求后,通过该小程序运行的应用程序对应的应用服务器进行认证,并为通过认证的目标小程序前端分配令牌,后续可以直接通过令牌验证目标小程序前端为合法登录状态后为目标小程序前端进行资源服务,无需再基于目标小程序前端的用户名和密码进行验证,在保证登录安全的情况下提高验证效率。
具体地,在向应用程序对应的应用服务器发起认证请求时,可以包括以下S10111~S10112:
S10111,获取登录请求中的登录凭证。
其中,登录凭证code是小程序前端在检测到用户触发登录操作时,通过调用应用服务器提供的接口,获取用于向应用服务器表示身份的临时登录凭证,然后向第三方登录服务器发送携带该code的登录请求,用于请求登录第三方登录服务器。
考虑到code为临时登录凭证,具有一定的有效期限,比如该有效期限为5min,当超过有限期限后,需要重新请求获取。
S10112,基于登录凭证、预先保存的应用服务器为小程序前端分配的账户数据,请求应用服务器对小程序前端进行认证;
第三方登录服务器在接收到登录请求后,除了获取到该登录请求中包含的code外,还需要提取预先保存的由应用服务器为每个目标小程序前端分配的账户数据,该账户数据可以包括应用服务器预先为该目标小程序前端分配的应用账号App ID和密码Appsecret,为了安全,应用服务器为目标小程序前端分配的App ID和App secret会预先保存在第三方登录服务器中。
示例性地,第三方登录服务器在得到code、App ID和App secret后,可以向应用服务器发送code、App ID和App secret,用以请求应用服务器对该小程序前端进行认证,以获取用于表示认证通过的目标小程序前端的开放性标识符Open ID。
进一步地,在向应用程序对应的应用服务器发起认证请求之后,本公开实施例提供的访问方法还包括:
在接收到应用服务器反馈的针对目标小程序前端的开放性标识符的情况下,确定目标小程序前端通过应用服务器的认证。
应用服务器在接收到第三方登录服务器发送的code、App ID和App secret后,在确定App ID和App secret准确,且code合法并在有限期限内的情况下,生成针对该目标小程序前端的开放性标识符Open ID,该Open ID用于表示目标小程序前端的身份合法。
在一种实施方式中,访问权限信息包括IAM系统为小程序前端预先配置的密钥对;签名信息获取请求中还包括:目标小程序前端请求访问的目标应用程序接口的网页地址和访问参数信息。
其中,密钥对详见上文解释,在此不进行赘述,目标应用程序接口的网页地址URL可以表示目标小程序前端请求访问的目标Open API对应的网页地址,访问参数信息用于表示目标小程序前端要通过目标Open API获取的业务数据,示例性地,目标Open API可以为一个购物类系统中公开的用于请求该商品数据的目标开放性应用程序编程接口,访问参数信息可以包括购物类系统提供的商品参数,比如商品价格、商品颜色等。
具体地,针对上述S103,在基于目标小程序前端对应的访问权限信息,生成第一签名信息时,可以包括:
按照IAM系统预先设定的签名方式,基于目标应用程序接口的网页地址、访问参数信息和目标小程序前端对应的密钥对,生成第一签名信息。
示例性地,签名方式可以为IAM系统预先设定的加密算法,可以根据该加密算法对目标Open API的网页地址、访问参数信息和密钥对进行加密处理,得到第一签名信息。
本公开实施例,提出基于目标应用程序接口的网页地址、访问参数信息和密钥对来生成第一签名信息,这样可以对目标应用程序接口的网页地址、访问参数信息以及密钥对进行加密保护,防止被非法篡改,从而提高在针对目标应用程序接口进行访问时的安全性。
示例性地,考虑到密钥对中包含的Access Key ID被泄露后,只要对应的SecretAccess Key未被泄露,并不会对Open API的安全性造成影响,因此Access Key ID可以通过网络传输,而与Access Key ID对应的Secret Access Key在网络传输过程中应该被加密,或者不在网络中进行传输,因此,这里在生成第一签名信息时,可以基于预先设定的哈希加密算法针对密钥对中的Secret Access Key进行加密处理,示例性地,可以按照预先设定的哈希加密算法对Secret Access Key、目标Open API的URL和访问参数信息进行加密处理得到第一哈希值,将该第一哈希值和Access Key ID作为第一签名信息。
在一种实施方式中,针对上述S104,向目标小程序前端返回第一签名信息时,可以包括:
向目标小程序前端返回第一签名信息和第一签名信息对应的生成时间戳;生成时间戳用于IAM系统对目标小程序前端发起的访问请求进行有效时长验证。
示例性地,在一种情况下,第一签名信息虽然为合法的,但该第一签名信息是被使用过的历史签名信息,即为过期的签名信息,为了保证认证访问过程的安全性,本公开实施例提出,在生成第一签名信息时,会同时生成该第一签名信息对应的生成时间戳,这样可以将第一签名信息和对应的生成时间戳一同发送至目标小程序前端,目标小程序前端在向IAM系统发送访问请求时,可以同时基于第一签名信息和生成时间戳对访问请求进行认证,其中,该生成时间戳用于进行有效时长验证。
本公开实施例中,通过增加第一签名信息对应的生成时间戳对第一签名信息增加有效期限,避免第一签名信息被泄露或者被重复使用,从而提高在对开放性应用程序接口进行访问时的安全性。
参见图3所示,为本公开实施例提供另一种访问方法的流程图,应用于身份识别与访问管理IAM系统,该访问方法包括以下S301~S302:
S301,接收目标小程序前端发送的访问请求,该访问请求携带有第一签名信息和目标应用程序接口标识。
示例性地,目标小程序前端向IAM系统发送访问请求时,该访问请求可以发送至该IAM系统中的IAM网关,由IAM网关基于第一签名信息来认证目标小程序前端是否具有对目标Open API的访问权限。
示例性地,目标应用程序接口标识,具体指目标Open API标识,可以用来唯一标识目标Open API,比如IAM系统中包含设定个数的Open API,可以预先为每个Open API进行编码,将对应的编码作为Open API的Open API标识。
S302,基于第一签名信息对目标小程序前端进行认证,并在目标小程序前端认证通过后,调用目标应用程序接口标识对应的目标应用程序接口,获取访问请求对应的业务数据,并向目标小程序前端返回业务数据。
示例性地,IAM系统在基于第一签名信息对目标小程序前端进行认证时,可以按照与第三方登录服务器生成该第一签名信息的相同方式,生成第二签名信息,然后通过比较第一签名信息和第二签名信息来对该目标小程序前端进行认证。
在该目标小程序前端认证成功后,确定该目标小程序前端可以访问目标Open API标识对应的目标Open API,因此可以通过调用目标Open API标识对应的目标Open API来获取目标小程序前端请求访问的业务数据,并将该业务数据返回给目标小程序前端。
本公开实施例中,在接收到目标小程序前端发送的访问请求时,可以基于该访问请求中包含的第一签名信息对该目标小程序前端的访问请求进行认证,在确定该目标小程序前端具有访问目标应用程序接口的权限后,再调用目标应用程序接口获取对应的业务数据,从而提高IAM系统中的业务数据的安全性。
在一种实施方式中,第一签名信息中包含存取密钥标识,访问请求中还包括目标应用程序接口的网页地址和访问参数信息;
针对上述S302,在基于第一签名信息对目标小程序前端进行认证时,如图4所示,可以包括以下S3021~S3023:
S3021,提取第一签名信息中包含的存取密钥标识,并获取与存取密钥标识对应的非公开存取密钥。
其中,存取密钥标识和对应的非公开存取密钥是由IAM系统为目标小程序前端预先配置、并保存在目标小程序前端对应第三方登录服务器的访问权限信息中。
IAM系统可以将预先针对每个用户分配的Access Key ID和对应的Secret AccessKey进行对应存储,这样在接收到第一签名信息时,可以基于该第一签名信息中提取到的Access Key ID来获取与该Access Key ID对应的Secret Access Key。
S3022,按照IAM系统预先设定的签名方式,基于目标应用程序接口的网页地址、访问参数信息、存取密钥标识和非公开存取密钥,生成第二签名信息。
针对上文第三方登录服务器生成第一签名信息的方式,这里IAM系统统一可以按照同样的签名方式,比如按照第三方登录服务器生成上述第一签名值时使用的哈希加密算法,对目标Open API的网页地址、访问参数信息和Secret Access Key进行加密处理,得到第二哈希值。
S3023,基于第一签名信息和第二签名信息,对目标小程序前端进行认证。
如果目标小程序前端向IAM系统发送的目标Open API的URL和访问参数信息未被非法篡改,与用于向第三方登录服务器请求第一签名信息时的目标Open API的URL和访问参数信息相同,并且该目标小程序前端的Access Key ID正确的情况下,第一签名信息中的第一哈希值和第二签名信息中的第二哈希值应该一致,因此,基于第一签名信息和第二签名信息可以对目标小程序前端进行认证。
本公开实施例中,提出按照与生成第一签名信息相同的签名方式,基于访问请求中包含的目标应用程序接口的网页地址和访问参数信息,以及与存取密钥标识对应的非公开存取密钥,重新进行签名得到第二签名信息,一方面可以基于第一签名信息和第二签名信息对目标小程序前端的访问进行认证,另一方面在认证过程中未对非公开存取密钥进行公开,有效防止非公开存取密钥被泄露。
在一种实施方式中,访问请求中还包括第一签名信息的生成时间戳,针对上述S3023,在基于第一签名信息和第二签名信息,对目标小程序前端进行认证时,可以包括以下S30231~S30232:
S30231,比较第一签名信息和第二签名信息是否匹配,以及第一签名信息的生成时间戳指示的时刻与当前时刻之间的时间差是否小于预设时间差;
S30232,在确定第一签名信息和第二签名信息匹配,且该时间差小于预设时间差的情况下,确定目标小程序前端的进行认证的结果为认证通过。
针对上文提到的第三方登录服务器在向目标小程序前端返回第一签名信息时,会同时返回第一签名信息对应的生成时间戳,然后目标小程序前端在向IAM系统发送访问请求时,同样会携带第一签名信息和该第一签名信息对应的生成时间戳。
IAM系统验证第一签名信息和第二签名信息是否匹配,可以是验证相同AccessKey ID分别对应的第一签名信息中的第一哈希值,和第二签名信息中的第二哈希值是否相同,除此之外,还可以验证第一签名信息的生成时间戳指示的时刻与当前时刻之间的时间差是否小于预设时间差,以此来验证目标小程序前端发送的访问请求是否处于有效时长内,按照这样的方式,可以确定该目标小程序前端发送的访问请求是否过期,避免第一签名信息被泄露或者被重复使用,从而保证小程序访问Open API时的安全性。
本公开实施例中,可以通过第一签名信息对应的生成时间戳确定该目标小程序前端发送的访问请求是否过期,比如接收到的第一签名信息的生成时间戳指示的时刻和IAM系统中的当前时刻之间的时间差较长时,确定该第一签名信息大概率不是本次请求访问IAM系统的应用程序接口时生成的,可能是其它非法用户盗用的第一签名信息,或者是用户重复使用的已经过期的第一签名信息,因此通过验证第一签名信息对应的生成时间戳可以避免第一签名信息被泄露或者被重复使用,从而保证小程序前端访问Open API时的安全性。
在一种可能的实施方式中,针对上述S302,在目标小程序前端认证通过后,调用目标应用程序接口标识对应的目标应用程序接口,获取访问请求对应的业务数据之前,如图5所示,本公开实施例提供的访问方法还包括以下S3024~S3025:
S3024,基于存取密钥标识,确定针对目标小程序前端授权的应用程序接口集;
S3025,确定应用程序接口集中存在与访问请求中携带的目标应用程序接口标识对应的目标应用程序接口。
一般情况下,IAM系统中可以包含大量的Open API,针对IAM系统的不同用户,具有的Open API的访问权限可能不同,在IAM系统为每个用户,比如小程序前端分配Access KeyID时,可以同时确定该Access Key ID针对Open API具有的访问权限。
因此,在认证通过后,可以通过从第一签名信息中提取到的Access Key ID,确定针对目标小程序前端授权的Open API集,进一步地,在确定该Open API集存在与访问请求中携带的目标Open API标识对应的API的情况下,可以调用目标Open API标识对应的目标Open API获取访问请求对应的业务数据。
本公开实施例中,提出通过存取密钥标识验证目标小程序前端具有针对目标应用程序接口的访问权限后,再调用目标应用程序接口获取访问请求对应的业务数据,从而保证IAM系统中的业务数据的安全性。
参见图6所示,为本公开实施例提供另一种访问方法的流程图应用于目标小程序前端,该访问方法包括以下S601~S603:
S601,响应于登录触发操作,向目标小程序前端对应的第三方登录服务器发送登录请求;登录请求用于第三方登录服务器在目标小程序前端通过认证后,为目标小程序前端分配令牌。
示例性地,用户登录应用程序后,可以在应用程序上点击目标小程序,从而触发打开该目标小程序前端,目标小程序前端可以在检测到登录触发操作的情况下,向目标小程序前端对应的第三方登录服务器发送登录请求,此时第三方登录服务器为该目标小程序前端分配Token的过程详见上文描述,在此不再赘述。
S602,接收到第三方登录服务器分配的令牌后,向第三方登录服务器发送携带令牌的签名信息获取请求,令牌用于第三方登录服务器对目标小程序前端进行认证通过后,基于预先存储的目标小程序前端对应的访问权限信息,生成第一签名信息;访问权限信息由身份识别与访问管理IAM系统为目标小程序前端预先配置。
在接收到第三方登录服务器返回的Token后,可以在该目标小程序前端上点击针对目标Open API的访问,以获取相关业务数据,此时目标小程序前端会首先向第三方登录服务器发送携带Token的签名信息获取请求,此时第三方登录服务器为该目标小程序前端生成第一签名信息的过程详见上文,在此不再赘述。
S603,接收到第一签名信息后,向目标应用程序接口的身份识别与访问管理IAM系统发送携带第一签名信息和目标应用程序接口标识的访问请求,以通过调用目标应用程序接口标识对应的目标应用程序接口获取访问请求对应的业务数据。
目标小程序前端接收到第三方登录服务器返回的第一签名信息后,即可以向IAM系统发送访问请求,并在通过IAM系统的认证后,通过目标Open API获取到对应的业务数据,具体IAM系统对该访问信息的认证过程详见上文,在此不再赘述。
本公开实施例中,目标小程序前端在请求访问目标应用程序接口的过程中,通过第三方登录服务器来保存IAM系统预先分配的访问权限信息,这样目标小程序前端在对目标应用程序接口进行访问认证过程中,可以基于该访问权限信息进行加密生成第一签名信息,目标小程序前端可以基于该第一签名信息对IAM系统进行访问认证,该过程无需目标小程序前端保存访问权限信息,避免访问过程丢失访问权限信息中的非公开存取密钥导致目标应用程序接口被非法访问,从而提高针对目标应用程序接口的访问安全性。
为了对整个访问流程进行介绍,为本公开实施例还提供的一种访问系统700,如图7所示,可以包括上述提到的目标小程序前端701、目标小程序前端701对应的第三方登录服务器702和身份识别与访问管理IAM系统703;
目标小程序前端701,用于响应于登录触发操作,向第三方登录服务器发送登录请求;接收到第三方登录服务器分配的令牌后,向第三方登录服务器发送携带令牌的签名信息获取请求,接收到第一签名信息后,向IAM系统发送携带第一签名信息和目标应用程序接口标识的访问请求,以通过调用目标应用程序接口标识对应的目标应用程序接口获取访问请求对应的业务数据;
第三方登录服务器702,用于响应来自小程序前端的登录请求,并为小程序中通过认证的目标小程序前端分配令牌;接收目标小程序前端发送的携带有令牌的签名信息获取请求;基于令牌对目标小程序前端进行认证,并在认证通过后,基于预先存储的目标小程序前端对应的访问权限信息,生成第一签名信息,向目标小程序前端返回第一签名信息;访问权限信息由IAM系统为小程序前端预先配置;
IAM系统703,用于接收目标小程序前端发送的携带有第一签名信息和目标应用程序接口标识的访问请求;基于第一签名信息对目标小程序前端进行认证,并在认证通过后,调用目标应用程序接口标识对应的目标应用程序接口获取访问请求对应的业务数据,并将业务数据返回给目标小程序前端。
具体地,本公开实施例提供的认证流程适用于任意部署在应用程序中的不支持调整外链的小程序,以应用程序为通信应用程序为例,当用户打开通信应用程序点击登录通信应用程序中的小程序前端时,该小程序前端可以向小程序前端对应的第三方登录服务器进行登录认证,第三方登录服务器确定该小程序前端通过通信应用程序对应的应用服务器的认证后,为该小程序前端分配令牌,以节省候选登录认证流程;后续接收到小程序前端发送的用于获取签名信息的签名信息获取请求时,可以基于签名信息获取请求中的令牌以及预先保存的小程序前端针对IAM系统的访问权限信息,对访问权限信息中的非公开存取密钥进行加密处理后,为该小程序前端生成签名信息,后续小程序前端可以基于该签名信息请求IAM系统进行访问认证,该过程可以降低非公开存取密钥被泄露造成的应用程序接口被非法访问的情况,从而保障应用程序接口的安全性。
这里提供的访问系统包含的目标小程序前端、第三方登录服务器以及IAM系统在认证访问过程中的作用详见上文描述,在此不再赘述。
为了对上述访问系统执行的访问方法进行具体介绍,下面引入图8所示,对上述访问过程进行阐述:
如图8所示,目标小程序前端在检测到登录触发操作时,首先可以获取code,在得到code后,将code发送至第三方登录服务器用于请求登录;第三方登录服务器在接收到目标小程序前端发送的code后,基于该code和预先保存的应用服务器为该目标小程序前端分配的App ID和App secret,向应用服务器请求对该目标小程序前端的code、App ID和Appsecret进行校验,并在校验成功后请求应用服务器返回Open ID;第三方登录服务器在接收到应用服务器返回的Open ID后,可以为该目标小程序前端生成Token,并将该Token返回至该目标小程序前端,收到Token的目标小程序前端在后续向第三方登录服务器请求签名时时,可以携带该Token以表明身份。
目标小程序前端可以向第三方登录服务器发送签名信息获取请求,并在该签名信息获取请求中携带Token、目标Open API的URL以及访问参数信息,第三方登录服务器接收到该签名信息获取请求后,验证Token后,基于目标Open API的URL、访问参数信息以及预先保存的IAM系统针对该目标小程序前端分配的Access Key ID和对应的Secret Access Key(可以通过AK/SK)表示,为该目标小程序前端生成第一签名信息,并将该第一签名信息以及该第一签名信息对应的生成时间戳返回给目标小程序前端;进一步地,目标小程序前端可以向IAM系统对应的IAM网关发送携带第一签名信息、生成时间戳和目标Open AP标识的访问请求,IAM网关接收到该访问请求后,可以重新生成第二签名信息(方式详见上文介绍),并基于第二签名信息和第一签名信息进行认证,对目标小程序前端是否能够访问目标应用程序接口进行认证鉴权,并在认证通过后,调用目标应用程序接口获取访问请求对应的业务数据,并将业务数据返回给目标小程序前端。
本领域技术人员可以理解,在具体实施方式的上述访问方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
基于同一技术构思,本公开实施例中还提供了与访问方法对应的访问装置,由于本公开实施例中的访问装置解决问题的原理与本公开实施例上述访问方法相似,因此装置的实施可以参见访问方法的实施,重复之处不再赘述。
参照图9所示,为本公开实施例提供的一种访问装置900的示意图,应用于第三方登录服务器,第三方登录服务中存储有小程序前端对应的访问权限信息,访问权限信息由身份识别与访问管理IAM系统为小程序前端预先配置,且访问权限信息用于指示通过小程序前端访问目标应用程序接口的访问权限,访问装置包括:
分配模块901,用于响应来自小程序前端的登录请求,并为小程序前端中通过认证的目标小程序前端分配令牌;
接收模块902,用于接收通过目标小程序前端发送的签名信息获取请求,签名信息获取携带有令牌;
生成模块903,用于基于令牌对目标小程序前端进行认证,并在认证通过后,基于目标小程序前端对应的访问权限信息,生成第一签名信息;
发送模块904,用于向目标小程序前端返回第一签名信息;第一签名信息用于通过目标小程序前端向IAM系统发起访问请求。
在一种可能的实施方式中,小程序前端运行于应用程序上,分配模块901具体用于:
响应来自小程序前端的登录请求,向应用程序对应的应用服务器发起认证请求;
为小程序前端中通过应用服务器认证的目标小程序前端,生成令牌,并向目标小程序前端发送令牌。
在一种可能的实施方式中,分配模块901具体用于:
获取登录请求中的登录凭证;
基于登录凭证、预先保存的应用服务器为目标小程序前端分配的账户数据,请求应用服务器对目标小程序前端进行认证;
在向应用程序对应的应用服务器发起认证请求之后,分配模块901还用于:
在接收到应用服务器反馈的针对目标小程序前端的开放性标识符的情况下,确定目标小程序前端通过应用服务器的认证。
在一种可能的实施方式中,访问权限信息包括IAM系统为小程序前端预先配置的密钥对;签名信息获取请求中还包括:目标小程序前端请求访问的目标应用程序接口的网页地址和访问参数信息;
生成模块903具体用于:按照IAM系统预先设定的签名方式,基于目标应用程序接口的网页地址、访问参数信息和目标小程序前端对应的密钥对,生成第一签名信息。
在一种可能的实施方式中,发送模块904具体用于:
向目标小程序前端返回第一签名信息和第一签名信息对应的生成时间戳;生成时间戳用于IAM系统对目标小程序前端发起的访问请求进行有效时长验证。
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述访问方法实施例中的相关说明,这里不再详述。
基于同一技术构思,本公开实施例中还提供了与访问方法对应的访问装置,由于本公开实施例中的访问装置解决问题的原理与本公开实施例上述访问访问方法相似,因此装置的实施可以参见访问方法的实施,重复之处不再赘述。
参照图10所示,为本公开实施例提供的一种访问装置1000的示意图,应用于身份识别与访问管理IAM系统,该访问装置1000包括:
接收模块1001,用于接收目标小程序前端发送的访问请求,访问请求携带有第一签名信息和目标应用程序接口标识;
认证模块1002,用于基于第一签名信息对目标小程序前端进行认证,并在目标小程序前端认证通过后,调用目标应用程序接口标识对应的目标应用程序接口,获取访问请求对应的业务数据,并向目标小程序前端返回业务数据。
在一种可能的实施方式中,第一签名信息中包含存取密钥标识,访问请求中还包括目标应用程序接口的网页地址和访问参数信息;
认证模块1002具体用于:
提取第一签名信息中包含的存取密钥标识,并基于存取密钥标识获取与存取密钥标识对应的非公开存取密钥;存取密钥标识和对应的非公开存取密钥是由IAM系统为目标小程序前端预先配置、并保存在目标小程序前端对应第三方登录服务器中的访问权限信息中;
按照IAM系统预先设定的签名方式,基于目标应用程序接口的网页地址、访问参数信息、存取密钥标识和非公开存取密钥,生成第二签名信息;
基于第一签名信息和第二签名信息,对目标小程序前端进行认证。
在一种可能的实施方式中,访问请求中还包括第一签名信息的生成时间戳,认证模块1002具体用于:
比较第一签名信息和第二签名信息是否匹配,以及第一签名信息的生成时间戳指示的时刻与当前时刻之间的时间差是否小于预设时间差;
在确定第一签名信息和第二签名信息匹配,且该时间差小于预设时间差的情况下,确定目标小程序前端的进行认证的结果为认证通过。
在一种可能的实施方式中,在目标小程序前端认证通过后,调用目标应用程序接口标识对应的目标应用程序接口,获取访问请求对应的业务数据之前,认证模块1002还用于:
基于存取密钥标识,确定针对目标小程序前端授权的应用程序接口集;
确定应用程序接口集中存在与访问请求中携带的目标应用程序接口标识对应的目标应用程序接口。
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述访问方法实施例中的相关说明,这里不再详述。
基于同一技术构思,本公开实施例中还提供了与访问方法对应的访问装置,由于本公开实施例中的访问装置解决问题的原理与本公开实施例上述访问访问方法相似,因此装置的实施可以参见访问方法的实施,重复之处不再赘述。
参照图11所示,为本公开实施例提供的一种访问装置1100的示意图,该访问装置包括:
登录请求模块1101,用于响应于登录触发操作,向目标小程序前端对应的第三方登录服务器发送登录请求;登录请求用于第三方登录服务器在目标小程序前端通过认证后,为目标小程序前端分配令牌;
签名请求模块1102,用于接收到第三方登录服务器分配的令牌后,向第三方登录服务器发送携带令牌的签名信息获取请求,令牌用于第三方登录服务器对目标小程序前端进行认证通过后,基于预先存储的目标小程序前端对应的访问权限信息,生成第一签名信息;访问权限信息由身份识别与访问管理IAM系统为目标小程序前端预先配置;
访问请求模块1103,用于接收到第一签名信息后,向目标应用程序接口的身份识别与访问管理IAM系统发送携带第一签名信息和目标应用程序接口标识的访问请求,以通过调用目标应用程序接口标识对应的目标应用程序接口获取访问请求对应的业务数据。
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述访问方法实施例中的相关说明,这里不再详述。
对应于图1中的访问方法,本公开实施例还提供了一种电子设备1200,如图12所示,为本公开实施例提供的电子设备1200结构示意图,包括:
处理器121、存储器122、和总线123;存储器122用于存储执行指令,包括内存1221和外部存储器1222;这里的内存1221也称内存储器,用于暂时存放处理器121中的运算数据,以及与硬盘等外部存储器1222交换的数据,处理器121通过内存1221与外部存储器1222进行数据交换,当电子设备1200运行时,处理器121与存储器122之间通过总线123通信,使得处理器121执行以下指令:响应来自小程序前端的登录请求,并为小程序前端中通过认证的目标小程序前端分配令牌;接收通过目标小程序前端发送的签名信息获取请求,签名信息获取请求携带有令牌;基于令牌对目标小程序前端进行认证,并在认证通过后,基于目标小程序前端对应的访问权限信息,生成第一签名信息;向目标小程序前端返回第一签名信息;第一签名信息用于通过目标小程序前端向IAM系统发起访问请求。
对应于图3中的访问方法,本公开实施例还提供了一种电子设备1300,如图13所示,为本公开实施例提供的电子设备1300结构示意图,包括:
处理器131、存储器132、和总线133;存储器132用于存储执行指令,包括内存1321和外部存储器1322;这里的内存1321也称内存储器,用于暂时存放处理器131中的运算数据,以及与硬盘等外部存储器1322交换的数据,处理器131通过内存1321与外部存储器1322进行数据交换,当电子设备1300运行时,处理器131与存储器132之间通过总线133通信,使得处理器131执行以下指令:接收目标小程序前端发送的访问请求,访问请求携带有第一签名信息和目标应用程序接口标识;基于第一签名信息对目标小程序前端进行认证,并在目标小程序前端认证通过后,调用目标应用程序接口标识对应的目标应用程序接口,获取访问请求对应的业务数据,并向目标小程序前端返回业务数据。
对应于图6中的访问方法,本公开实施例还提供了一种电子设备1400,如图14所示,为本公开实施例提供的电子设备1400结构示意图,包括:
处理器141、存储器142、和总线143;存储器142用于存储执行指令,包括内存1421和外部存储器1422;这里的内存1421也称内存储器,用于暂时存放处理器141中的运算数据,以及与硬盘等外部存储器1422交换的数据,处理器141通过内存1421与外部存储器1422进行数据交换,当电子设备1400运行时,处理器141与存储器142之间通过总线143通信,使得处理器141执行以下指令:响应于登录触发操作,向目标小程序前端对应的第三方登录服务器发送登录请求;登录请求用于第三方登录服务器在目标小程序前端通过认证后,为目标小程序前端分配令牌;接收到第三方登录服务器分配的令牌后,向第三方登录服务器发送携带令牌的签名信息获取请求,令牌用于第三方登录服务器对目标小程序前端进行认证通过后,基于预先存储的目标小程序前端对应的访问权限信息,生成第一签名信息;访问权限信息由身份识别与访问管理IAM系统为目标小程序前端预先配置;接收到第一签名信息后,向目标应用程序接口的身份识别与访问管理IAM系统发送携带第一签名信息和目标应用程序接口标识的访问请求,以通过调用目标应用程序接口标识对应的目标应用程序接口获取访问请求对应的业务数据。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述访问方法实施例中的访问方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例所提供的访问方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,程序代码包括的指令可用于执行上述访问方法实施例中的访问方法的步骤,具体可参见上述访问方法实施例,在此不再赘述。
本公开实施例还提供一种计算机程序,该计算机程序被处理器执行时实现前述实施例的任意一种方法。该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software DevelopmentKit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。

Claims (14)

1.一种访问方法,其特征在于,应用于第三方登录服务器,所述第三方登录服务器中存储有小程序前端对应的访问权限信息,所述访问权限信息由身份识别与访问管理IAM系统为所述小程序前端预先配置,且所述访问权限信息用于指示通过所述小程序前端访问目标应用程序接口的访问权限;所述访问权限信息包括所述IAM系统为所述小程序前端预先配置的密钥对;
所述访问方法包括:
响应来自所述小程序前端的登录请求,并为所述小程序前端中通过认证的目标小程序前端分配令牌;
接收通过所述目标小程序前端发送的签名信息获取请求,所述签名信息获取请求携带有所述令牌,以及包括所述目标小程序前端请求访问的目标应用程序接口的网页地址和访问参数信息;
基于所述令牌对所述目标小程序前端进行认证,并在认证通过后,基于所述目标小程序前端对应的所述访问权限信息,生成第一签名信息;
向所述目标小程序前端返回所述第一签名信息;所述第一签名信息用于通过所述目标小程序前端向所述IAM系统发起访问请求;
其中,所述基于所述目标小程序前端对应的所述访问权限信息,生成第一签名信息,包括:
按照所述IAM系统预先设定的签名方式,基于所述目标应用程序接口的网页地址、所述访问参数信息和所述目标小程序前端对应的密钥对,生成所述第一签名信息。
2.根据权利要求1所述的访问方法,其特征在于,所述小程序前端运行于应用程序上,所述响应来自所述小程序前端的登录请求,并为所述小程序前端中通过认证的目标小程序前端分配令牌,包括:
响应来自所述小程序前端的登录请求,向所述应用程序对应的应用服务器发起认证请求;
为所述小程序前端中通过所述应用服务器认证的目标小程序前端,生成所述令牌,并向所述目标小程序前端发送所述令牌。
3.根据权利要求2所述的访问方法,其特征在于,所述向所述应用程序对应的应用服务器发起认证请求,包括:
获取所述登录请求中的登录凭证;
基于所述登录凭证、预先保存的所述应用服务器为所述小程序前端分配的账户数据,请求所述应用服务器对所述小程序前端进行认证;
在所述向所述应用程序对应的应用服务器发起认证请求之后,所述访问方法还包括:
在接收到所述应用服务器反馈的针对所述目标小程序前端的开放性标识符的情况下,确定所述目标小程序前端通过所述应用服务器的认证。
4.根据权利要求1至3任一所述的访问方法,其特征在于,所述向所述目标小程序前端返回所述第一签名信息,包括:
向所述目标小程序前端返回所述第一签名信息和所述第一签名信息对应的生成时间戳;所述生成时间戳用于所述IAM系统对所述目标小程序前端发起的访问请求进行有效时长验证。
5.一种访问方法,其特征在于,应用于身份识别与访问管理IAM系统,所述访问方法包括:
接收目标小程序前端发送的访问请求,所述访问请求携带有第一签名信息和目标应用程序接口标识,其中,所述第一签名信息中包含存取密钥标识,所述访问请求中还包括所述目标应用程序接口的网页地址和访问参数信息;
基于所述第一签名信息对所述目标小程序前端进行认证,并在所述目标小程序前端认证通过后,调用所述目标应用程序接口标识对应的目标应用程序接口,获取所述访问请求对应的业务数据,并向所述目标小程序前端返回所述业务数据;
其中,所述基于所述第一签名信息对所述目标小程序前端进行认证,包括:
提取所述第一签名信息中包含的所述存取密钥标识,并获取与所述存取密钥标识对应的非公开存取密钥;所述存取密钥标识和对应的所述非公开存取密钥是由所述IAM系统为所述目标小程序前端预先配置、并保存在所述目标小程序前端对应第三方登录服务器的访问权限信息中;
按照所述IAM系统预先设定的签名方式,基于所述目标应用程序接口的网页地址、所述访问参数信息、所述存取密钥标识和所述非公开存取密钥,生成第二签名信息;
基于所述第一签名信息和所述第二签名信息,对所述目标小程序前端进行认证。
6.根据权利要求5所述的访问方法,其特征在于,所述访问请求中还包括所述第一签名信息的生成时间戳,所述基于所述第一签名信息和所述第二签名信息,对所述目标小程序前端进行认证,包括:
比较所述第一签名信息和所述第二签名信息是否匹配,以及所述第一签名信息的生成时间戳指示的时刻与当前时刻之间的时间差是否小于预设时间差;
在确定所述第一签名信息和所述第二签名信息匹配,且所述时间差小于所述预设时间差的情况下,确定所述目标小程序前端的进行认证的结果为认证通过。
7.根据权利要求5或6所述的访问方法,其特征在于,在所述目标小程序前端认证通过后,调用目标应用程序接口标识对应的目标应用程序接口,获取所述访问请求对应的业务数据之前,所述访问方法还包括:
基于所述存取密钥标识,确定针对所述目标小程序前端授权的应用程序接口集;
确定所述应用程序接口集中存在与所述访问请求中携带的所述目标应用程序接口标识对应的目标应用程序接口。
8.一种访问方法,其特征在于,应用于目标小程序前端,所述访问方法包括:
响应于登录触发操作,向目标小程序前端对应的第三方登录服务器发送登录请求;所述登录请求用于所述第三方登录服务器在所述目标小程序前端通过认证后,为所述目标小程序前端分配令牌;
接收到所述第三方登录服务器分配的所述令牌后,向所述第三方登录服务器发送携带所述令牌的签名信息获取请求,所述令牌用于所述第三方登录服务器对所述目标小程序前端进行认证通过后,基于预先存储的所述目标小程序前端对应的访问权限信息,生成第一签名信息;所述访问权限信息由身份识别与访问管理IAM系统为所述目标小程序前端预先配置;所述访问权限信息包括所述IAM系统为所述小程序前端预先配置的密钥对;所述签名信息获取请求还包括所述目标小程序前端请求访问的目标应用程序接口的网页地址和访问参数信息;所述第一签名信息为所述第三方登录服务器按照所述IAM系统预先设定的签名方式,基于所述目标应用程序接口的网页地址、所述访问参数信息和所述目标小程序前端对应的密钥对生成的;
接收到所述第一签名信息后,向目标应用程序接口的身份识别与访问管理IAM系统发送携带所述第一签名信息和目标应用程序接口标识的访问请求,以通过调用所述目标应用程序接口标识对应的目标应用程序接口获取所述访问请求对应的业务数据。
9.一种访问装置,其特征在于,应用于第三方登录服务器,所述第三方登录服务中存储有小程序前端对应的访问权限信息,所述访问权限信息由身份识别与访问管理IAM系统为所述小程序前端预先配置,且所述访问权限信息用于指示通过所述小程序前端访问目标应用程序接口的访问权限;所述访问权限信息包括所述IAM系统为所述小程序前端预先配置的密钥对;
所述访问装置包括:
分配模块,用于响应来自所述小程序前端的登录请求,并为所述小程序前端中通过认证的目标小程序前端分配令牌;
接收模块,用于接收通过所述目标小程序前端发送的签名信息获取请求,所述签名信息获取携带有所述令牌,以及包括所述目标小程序前端请求访问的目标应用程序接口的网页地址和访问参数信息;
生成模块,用于基于所述令牌对所述目标小程序前端进行认证,并在认证通过后,基于所述目标小程序前端对应的所述访问权限信息,生成第一签名信息;
发送模块,用于向所述目标小程序前端返回所述第一签名信息;所述第一签名信息用于通过所述目标小程序前端向所述IAM系统发起访问请求;
其中,所述生成模块,在基于所述目标小程序前端对应的所述访问权限信息,生成第一签名信息时,用于:
按照所述IAM系统预先设定的签名方式,基于所述目标应用程序接口的网页地址、所述访问参数信息和所述目标小程序前端对应的密钥对,生成所述第一签名信息。
10.一种访问装置,其特征在于,应用于身份识别与访问管理IAM系统,所述访问装置包括:
接收模块,用于接收目标小程序前端发送的访问请求,所述访问请求携带有第一签名信息和目标应用程序接口标识,其中,所述第一签名信息中包含存取密钥标识,所述访问请求中还包括所述目标应用程序接口的网页地址和访问参数信息;
认证模块,用于基于所述第一签名信息对所述目标小程序前端进行认证,并在认证通过后,调用所述目标应用程序接口标识对应的目标应用程序接口,获取所述访问请求对应的业务数据,并向所述目标小程序前端返回所述业务数据;
其中,所述认证模块,在基于所述第一签名信息对所述目标小程序前端进行认证时,用于:
提取所述第一签名信息中包含的所述存取密钥标识,并获取与所述存取密钥标识对应的非公开存取密钥;所述存取密钥标识和对应的所述非公开存取密钥是由所述IAM系统为所述目标小程序前端预先配置、并保存在所述目标小程序前端对应第三方登录服务器的访问权限信息中;
按照所述IAM系统预先设定的签名方式,基于所述目标应用程序接口的网页地址、所述访问参数信息、所述存取密钥标识和所述非公开存取密钥,生成第二签名信息;
基于所述第一签名信息和所述第二签名信息,对所述目标小程序前端进行认证。
11.一种访问装置,其特征在于,应用于目标小程序前端,所述访问装置包括:
登录请求模块,用于响应于登录触发操作,向目标小程序前端对应的第三方登录服务器发送登录请求;所述登录请求用于所述第三方登录服务器在所述目标小程序前端通过认证后,为所述目标小程序前端分配令牌;签名请求模块,用于接收到所述第三方登录服务器分配的所述令牌后,向所述第三方登录服务器发送携带所述令牌的签名信息获取请求,所述令牌用于所述第三方登录服务器对所述目标小程序前端进行认证通过后,基于预先存储的所述目标小程序前端对应的访问权限信息,生成第一签名信息;所述访问权限信息由身份识别与访问管理IAM系统为所述目标小程序前端预先配置;所述访问权限信息包括所述IAM系统为所述小程序前端预先配置的密钥对;所述签名信息获取请求还包括所述目标小程序前端请求访问的目标应用程序接口的网页地址和访问参数信息;所述第一签名信息为所述第三方登录服务器按照所述IAM系统预先设定的签名方式,基于所述目标应用程序接口的网页地址、所述访问参数信息和所述目标小程序前端对应的密钥对生成的;
访问请求模块,用于接收到所述第一签名信息后,向目标应用程序接口的身份识别与访问管理IAM系统发送携带所述第一签名信息和目标应用程序接口标识的访问请求,以通过调用所述目标应用程序接口标识对应的目标应用程序接口获取所述访问请求对应的业务数据。
12.一种访问系统,其特征在于,包括目标小程序前端、目标小程序前端对应的第三方登录服务器和目标应用程序接口的身份识别与访问管理IAM系统;
所述目标小程序前端,用于响应于登录触发操作,向所述第三方登录服务器发送登录请求;接收到所述第三方登录服务器分配的令牌后,向所述第三方登录服务器发送携带所述令牌的签名信息获取请求,接收到第一签名信息后,向所述IAM系统发送携带所述第一签名信息和目标应用程序接口标识的访问请求,以通过调用所述目标应用程序接口标识对应的目标应用程序接口获取所述访问请求对应的业务数据;所述签名信息获取请求还包括所述目标小程序前端请求访问的目标应用程序接口的网页地址和访问参数信息;
所述第三方登录服务器,用于响应来自所述小程序前端的登录请求,并为所述小程序中通过认证的目标小程序前端分配令牌;接收所述目标小程序前端发送的携带有所述令牌的签名信息获取请求;基于所述令牌对所述目标小程序前端进行认证,并在认证通过后,基于预先存储的所述目标小程序前端对应的访问权限信息,生成第一签名信息,向所述目标小程序前端返回所述第一签名信息;所述访问权限信息由所述IAM系统为所述小程序前端预先配置;所述访问权限信息包括所述IAM系统为所述小程序前端预先配置的密钥对;所述第一签名信息为按照所述IAM系统预先设定的签名方式,基于所述目标应用程序接口的网页地址、所述访问参数信息和所述目标小程序前端对应的密钥对生成的;
所述IAM系统,用于接收目标小程序前端发送的携带有第一签名信息和目标应用程序接口标识的访问请求;基于所述第一签名信息对所述目标小程序前端进行认证,并在认证通过后,调用目标应用程序接口标识对应的目标应用程序接口获取所述访问请求对应的业务数据,并将所述业务数据返回给所述目标小程序前端。
13.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1至8任一所述的访问方法的步骤。
14.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至8任一所述的访问方法的步骤。
CN202010895806.7A 2020-08-31 2020-08-31 一种访问方法、装置、系统、电子设备及存储介质 Active CN112000951B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010895806.7A CN112000951B (zh) 2020-08-31 2020-08-31 一种访问方法、装置、系统、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010895806.7A CN112000951B (zh) 2020-08-31 2020-08-31 一种访问方法、装置、系统、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN112000951A CN112000951A (zh) 2020-11-27
CN112000951B true CN112000951B (zh) 2024-05-17

Family

ID=73465989

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010895806.7A Active CN112000951B (zh) 2020-08-31 2020-08-31 一种访问方法、装置、系统、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN112000951B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112543194B (zh) * 2020-12-03 2023-03-24 武汉联影医疗科技有限公司 移动终端登录方法、装置、计算机设备和存储介质
CN112948143B (zh) * 2021-03-04 2024-01-12 北京奇艺世纪科技有限公司 一种应用程序调用方法、装置及调用系统
CN113127825B (zh) * 2021-04-27 2023-11-10 北京百度网讯科技有限公司 访问权限验证方法和装置
CN113452531A (zh) * 2021-06-29 2021-09-28 青岛海尔科技有限公司 数据传输方法及装置
CN113591061A (zh) * 2021-07-07 2021-11-02 杜东璧 一种基于USB-Key和ZT-IAM的零信任网络访问控制方法
CN113505353A (zh) * 2021-07-09 2021-10-15 绿盟科技集团股份有限公司 一种认证方法、装置、设备和存储介质
CN114520724A (zh) * 2022-02-18 2022-05-20 深圳前海环融联易信息科技服务有限公司 一种开放api接口的签名验证方法
CN115695018A (zh) * 2022-11-02 2023-02-03 四川启睿克科技有限公司 基于jwt的对接第三方可配置认证方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017020452A1 (zh) * 2015-08-04 2017-02-09 北京百度网讯科技有限公司 认证方法和认证系统
GB201706650D0 (en) * 2017-04-26 2017-06-07 Sita Advanced Travel Solutions Ltd System and method for authenticating a non-transferrable access token
CN108183907A (zh) * 2017-12-29 2018-06-19 浪潮通用软件有限公司 一种认证方法、服务器及认证系统
CN109522726A (zh) * 2018-10-16 2019-03-26 平安万家医疗投资管理有限责任公司 小程序的鉴权方法、服务器及计算机可读存储介质
CN110149328A (zh) * 2019-05-22 2019-08-20 平安科技(深圳)有限公司 接口鉴权方法、装置、设备及计算机可读存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017020452A1 (zh) * 2015-08-04 2017-02-09 北京百度网讯科技有限公司 认证方法和认证系统
GB201706650D0 (en) * 2017-04-26 2017-06-07 Sita Advanced Travel Solutions Ltd System and method for authenticating a non-transferrable access token
CN108183907A (zh) * 2017-12-29 2018-06-19 浪潮通用软件有限公司 一种认证方法、服务器及认证系统
CN109522726A (zh) * 2018-10-16 2019-03-26 平安万家医疗投资管理有限责任公司 小程序的鉴权方法、服务器及计算机可读存储介质
CN110149328A (zh) * 2019-05-22 2019-08-20 平安科技(深圳)有限公司 接口鉴权方法、装置、设备及计算机可读存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
伍孟轩 ; 李伟 ; 易叔海 ; 程蒙 ; 刘川 ; .跨域单点登录解决方案研究.网络安全技术与应用.2018,(02),全文. *
孔志昊 ; 胡必波 ; 黄仁刚 ; .校园约约微信小程序支付开发功能研究与实践.电脑编程技巧与维护.2019,(05),全文. *
李永 ; .SSL VPN技术在校园网中的应用.产业与科技论坛.2018,(05),全文. *

Also Published As

Publication number Publication date
CN112000951A (zh) 2020-11-27

Similar Documents

Publication Publication Date Title
CN112000951B (zh) 一种访问方法、装置、系统、电子设备及存储介质
CN111429254B (zh) 一种业务数据处理方法、设备以及可读存储介质
CN108777684B (zh) 身份认证方法、系统及计算机可读存储介质
JP4861417B2 (ja) 拡張ワンタイム・パスワード方法および装置
US20190281028A1 (en) System and method for decentralized authentication using a distributed transaction-based state machine
US9055061B2 (en) Process of authentication for an access to a web site
CN108322416B (zh) 一种安全认证实现方法、装置及系统
CN109981665B (zh) 资源提供方法及装置、资源访问方法及装置和系统
CN110430065B (zh) 一种应用服务调用方法、装置及系统
CN109831311B (zh) 一种服务器验证方法、系统、用户终端及可读存储介质
CN103853950A (zh) 一种基于移动终端的认证方法及移动终端
CN111275419A (zh) 一种区块链钱包签名确权方法、装置及系统
US20160149893A1 (en) Strong authentication method
CN110020869B (zh) 用于生成区块链授权信息的方法、装置及系统
CN111143822A (zh) 一种应用系统访问方法及装置
CN111800378A (zh) 一种登录认证方法、装置、系统和存储介质
CN107645474B (zh) 登录开放平台的方法及登录开放平台的装置
CN112448930A (zh) 账号注册方法、装置、服务器及计算机可读存储介质
CN113505353A (zh) 一种认证方法、装置、设备和存储介质
KR20090054774A (ko) 분산 네트워크 환경에서의 통합 보안 관리 방법
CN104901967A (zh) 信任设备的注册方法
CN116996305A (zh) 一种多层次安全认证方法、系统、设备、存储介质及入口网关
CN115459929A (zh) 安全验证方法、装置、电子设备、系统、介质和产品
CN117063174A (zh) 用于通过基于app的身份的app间相互信任的安全模块及方法
Pernpruner et al. The Good, the Bad and the (Not So) Ugly of Out-of-Band Authentication with eID Cards and Push Notifications: Design, Formal and Risk Analysis

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
GR01 Patent grant
GR01 Patent grant