CN112953892A - 第三方***的访问认证方法和装置 - Google Patents
第三方***的访问认证方法和装置 Download PDFInfo
- Publication number
- CN112953892A CN112953892A CN202110101483.4A CN202110101483A CN112953892A CN 112953892 A CN112953892 A CN 112953892A CN 202110101483 A CN202110101483 A CN 202110101483A CN 112953892 A CN112953892 A CN 112953892A
- Authority
- CN
- China
- Prior art keywords
- party system
- request
- party
- access
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000006243 chemical reaction Methods 0.000 claims description 12
- 230000004044 response Effects 0.000 claims description 11
- 230000003068 static effect Effects 0.000 claims description 10
- 238000013475 authorization Methods 0.000 claims description 9
- 238000010276 construction Methods 0.000 claims description 6
- 238000011161 development Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 15
- 230000010354 integration Effects 0.000 description 7
- 238000012423 maintenance Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/133—Protocols for remote procedure calls [RPC]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明提供了第三方***的访问认证方法和装置,该方法包括:构建至少一个请求模板;其中,每一个至少一个请求模板对应一个第三方***;获取访问请求;其中,访问请求用于访问第三方***中的目标第三方***;将访问请求组装在与目标第三方***所对应的请求模板中,得到模板化访问请求;将模板化访问请求发送给目标第三方***,以使加载在目标第三方***中的第三方认证***对模板化访问请求的合法性进行验证;在第三方认证***确定模板化访问请求合法时,根据模板化访问请求对目标第三方***进行访问。本方案能够通过将不同的访问请求组装在定义好的请求模板中来实现访问认证,从而解决开发的***复用性和扩展性差的问题。
Description
技术领域
本发明涉及计算机通信技术领域,特别涉及第三方***的访问认证方法和装置。
背景技术
开放授权(Open Authorize,OAuth)是一个开放标准,允许用户让第三方***访问该用户在某一网站上存储的资源(如照片、视频、联系人列表等),而无需将用户名和密码提供给第三方应用。
随着OAuth2.0在第三方认证***中的普遍应用,在同一***集成多个第三方认证***时,需要根据不同的第三方认证***开发进行开发,而开发中各个第三方认证***的开发流程类似,但请求细节是不同的代码。如此会面临复用性和扩展性的问题,即会导致代码不易维护和扩展,同时也降低了开发的效率。
因此,需要提供一种第三方***的访问认证方案。
发明内容
本发明提供了一种第三方***的访问认证方法和装置,能够通过将不同的访问请求组装在定义好的请求模板中来实现访问认证,从而解决开发的***复用性和扩展性差的问题。
第一方面,本发明实施例提供了一种第三方***的访问认证方法,该方法包括:
构建至少一个请求模板;其中,每一个所述至少一个请求模板对应一个第三方***;
获取访问请求;其中,所述访问请求用于访问所述第三方***中的目标第三方***;
将所述访问请求组装在与所述目标第三方***所对应的请求模板中,得到模板化访问请求;
将所述模板化访问请求发送给所述目标第三方***,以使加载在所述目标第三方***中的第三方认证***对所述模板化访问请求的合法性进行验证;
在所述第三方认证***确定所述模板化访问请求合法时,根据所述模板化访问请求对所述目标第三方***进行访问。
在一种可能的实现方式中,所述构建至少一个请求模板,包括:
获取至少一个第三方***;
根据每一个所述第三方***,确定所述请求模板的第一标识段;其中,所述第一标识段用于表征每一个所述第三方***分别对应的请求模板中共有的部分;
针对每一个所述第三方***,均执行:
配置与当前第三方***所对应的至少一个配置参数;其中,任意一个所述配置参数唯一对应一个第三方***,任意两个第三方***各自对应的配置参数不相同;
将所述第一标识段和与当前第三方***所对应的配置参数进行组合,构建当前第三方***所对应的请求模板。
在一种可能的实现方式中,
所述配置参数包括授权地址、凭证申请地址、用户信息获取地址和请求响应的转换类中的至少一个;
和/或,
所述配置参数包括内置参数、静态参数和动态参数中的至少一个。
在一种可能的实现方式中,所述第三方认证***对所述模板化访问请求的合法性进行验证的过程,包括:
S1:判断所述模板化访问请求中是否包含接口调用凭证;若是,则执行步骤S2;否则,向发送所述模板化访问请求的用户终端返回接口调用凭证不存在的提示;
S2:根据所述接口调用凭证包含的信息,判断该接口调用凭证对应的账户信息是否存在;若存在,则执行步骤S3;否则,向所述用户终端返回没有登录的提示;
S3:判断所述接口调用凭证是否超时;若是,则向所述用户终端返回接口调用凭证无效的提示;否则,执行步骤S4;
S4:判断所述用户终端是否具有访问所述目标第三方***的权限;若是,则确定所述模板化访问请求合法;否则,向所述用户终端返回不具有访问权限的提示。
在一种可能的实现方式中,在所述构建至少一个请求模板之后,进一步包括:
创建协议流程扩展点,以使所述请求模板通过实现接口的方式实现第三方***的访问认证。
第二方面,本发明实施例还提供了一种第三方***的访问认证装置,该装置包括:构建模块、获取模块、组装模块、判断模块和访问执行模块;
所述构建模块,用于构建至少一个请求模板;其中,每一个所述至少一个请求模板对应一个第三方***;
所述获取模块,用于获取访问请求;其中,所述访问请求用于访问所述第三方***中的目标第三方***;
所述组装模块,用于将所述获取模块获取到的所述访问请求组装在所述构建模块构建的与所述目标第三方***所对应的请求模板中,得到模板化访问请求;
所述判断模块,用于将所述组装模块得到的所述模板化访问请求发送给所述目标第三方***,以使加载在所述目标第三方***中的第三方认证***对所述模板化访问请求的合法性进行验证;
所述访问执行模块,用于在所述判断模块判断出所述第三方认证***确定所述模板化访问请求合法时,根据所述模板化访问请求对所述目标第三方***进行访问。
在一种可能的实现方式中,
所述构建模块,用于执行如下操作:
获取至少一个第三方***;
根据每一个所述第三方***,确定所述请求模板的第一标识段;其中,所述第一标识段用于表征每一个所述第三方***分别对应的请求模板中共有的部分;
针对每一个所述第三方***,均执行:
配置与当前第三方***所对应的至少一个配置参数;其中,任意一个所述配置参数唯一对应一个第三方***,任意两个第三方***各自对应的配置参数不相同;
将所述第一标识段和与当前第三方***所对应的配置参数进行组合,构建当前第三方***所对应的请求模板。
在一种可能的实现方式中,
所述配置参数包括授权地址、凭证申请地址、用户信息获取地址和请求响应的转换类中的至少一个;
和/或,
所述配置参数包括内置参数、静态参数和动态参数中的至少一个。
在一种可能的实现方式中,
所述判断模块,用于执行如下操作:
S1:判断所述模板化访问请求中是否包含接口调用凭证;若是,则执行步骤S2;否则,向发送所述模板化访问请求的用户终端返回接口调用凭证不存在的提示;
S2:根据所述接口调用凭证包含的信息,判断该接口调用凭证对应的账户信息是否存在;若存在,则执行步骤S3;否则,向所述用户终端返回没有登录的提示;
S3:判断所述接口调用凭证是否超时;若是,则向所述用户终端返回接口调用凭证无效的提示;否则,执行步骤S4;
S4:判断所述用户终端是否具有访问所述目标第三方***的权限;若是,则确定所述模板化访问请求合法;否则,向所述用户终端返回不具有访问权限的提示。
在一种可能的实现方式中,
所述构建模块,还用于创建协议流程扩展点,以使所述请求模板通过实现接口的方式实现第三方***的访问认证。
由上述技术方案可知,在访问第三方***时,加载在第三方***中的第三方认证***会对访问请求进行访问认证。具体地,首先需要构建与第三方***一一对应的请求模板,然后将获取到的用于访问第三方***的访问请求组装在该请求模板中,进一步当将组装好的访问请求发送给第三方***时,第三方认证***会对该访问请求的合法性进行验证,进而决定是否能够对目标第三方***进行访问。由此可见,本方案通过构建与第三方***对应的请求模板,通过将每个请求所对应的一些参数组装进该模板中即可实现访问,即访问同一个第三方***的访问请求具有相同的模板,从而能够简化代码的复杂程度,同时在后期进行扩展和维护时也能够减少工作量。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的一种第三方***的访问认证方法的流程图;
图2是本发明一个实施例提供的一种第三方***的访问认证装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种第三方***的访问认证方法,该方法可以包括如下步骤:
步骤101:构建至少一个请求模板;其中,每一个至少一个请求模板对应一个第三方***;
步骤102:获取访问请求;其中,访问请求用于访问第三方***中的目标第三方***;
步骤103:将访问请求组装在与目标第三方***所对应的请求模板中,得到模板化访问请求;
步骤104:将模板化访问请求发送给目标第三方***,以使加载在目标第三方***中的第三方认证***对模板化访问请求的合法性进行验证;
步骤105:在第三方认证***确定模板化访问请求合法时,根据模板化访问请求对目标第三方***进行访问。
在本发明实施例中,在访问第三方***时,加载在第三方***中的第三方认证***会对访问请求进行访问认证。具体地,首先需要构建与第三方***一一对应的请求模板,然后将获取到的用于访问第三方***的访问请求组装在该请求模板中,进一步当将组装好的访问请求发送给第三方***时,第三方认证***会对该访问请求的合法性进行验证,进而决定是否能够对目标第三方***进行访问。由此可见,本方案通过构建与第三方***对应的请求模板,通过将每个请求所对应的一些参数组装进该模板中即可实现访问,即访问同一个第三方***的访问请求具有相同的模板,从而能够简化代码的复杂程度,同时在后期进行扩展和维护时也能够减少工作量。
在一种可能的实现方式中,在构建请求模板时,具体可以通过如下过程来实现:
获取至少一个第三方***;
根据每一个第三方***,确定请求模板的第一标识段;其中,第一标识段用于表征每一个第三方***分别对应的请求模板中共有的部分;
针对每一个第三方***,均执行:
配置与当前第三方***所对应的至少一个配置参数;其中,任意一个配置参数唯一对应一个第三方***,任意两个第三方***各自对应的配置参数不相同;
将第一标识段和与当前第三方***所对应的配置参数进行组合,构建当前第三方***所对应的请求模板。
在本发明实施例中,在构建请求模板时,首先获取第三方***,然后确定出各个第三方***对应的请求模板中共有的第一标识段,进一步,针对每一个第三方***配置与当前第三方***所对应的至少一个配置参数,如此通过将配置参数和第一标识段进行组合,即可得到第三方***所对应的请求模板。由此可见,本方案通过将与第三方***唯一对应的配置参数配置到请求模板中,如此每一个请求模板可以唯一对应一个第三方***,从而在根据该请求模板进行访问时能够对应到该第三方***。此外,通过设定各个第三方***分别对应的请求模板中共有的第一标识段,在开发时能够简化代码,降低开发和维护的难度。
在一种可能的实现方式中,在配置与各个第三方***所对应的配置参数时,各个配置参数可以满足如下:
配置参数包括授权地址、凭证申请地址、用户信息获取地址和请求响应的转换类中的至少一个;
和/或,
配置参数包括内置参数、静态参数和动态参数中的至少一个。
在本发明实施例中,配置参数可以是授权地址、凭证申请地址、用户信息获取地址和请求响应的转换类中的一个或多个。此外,该配置参数还可以是内置参数、静态参数和动态参数中的一个或多个。如此通过将上述各种配置参数添加到请求模板,与第一标识段组合生成请求模板后,不仅可以根据该配置的参数确定第三方***,而且还可以根据该参数进行访问认证和访问,从而只需要少量的代码即可实现访问功能的开发。
在一种可能的实现方式中,在第三方认证***对模板化访问请求的合法性进行验证时,具体可以通过如下过程来实现:
S1:判断模板化访问请求中是否包含接口调用凭证;若是,则执行步骤S2;否则,向发送模板化访问请求的用户终端返回接口调用凭证不存在的提示;
S2:根据接口调用凭证包含的信息,判断该接口调用凭证对应的账户信息是否存在;若存在,则执行步骤S3;否则,向用户终端返回没有登录的提示;
S3:判断接口调用凭证是否超时;若是,则向用户终端返回接口调用凭证无效的提示;否则,执行步骤S4;
S4:判断用户终端是否具有访问目标第三方***的权限;若是,则确定模板化访问请求合法;否则,向用户终端返回不具有访问权限的提示。
在本发明实施例中,在对模板化访问请求的合法性进行验证时,具体可以判断模板化访问请求中是否包含接口调用凭证、判断接口调用凭证对应的账户信息是否存在、接口调用凭证是否超时以及用户终端是否具有访问权限,如此通过进行层层验证,能够保证第三方***的安全性。而且,通过对接口调用凭证进行参数设定,还可以有效地对恶意访问进行限制。
在一种可能的实现方式中,在构建至少一个请求模板之后,还可以进一步包括:
创建协议流程扩展点,以使请求模板通过实现接口的方式实现第三方***的访问认证。
在本发明实施例中,实现了将上述的请求模板实现于接口,当根据需求,提供的流程无法满足时,可以通过实现接口的方式,对整个过程进行定制,从而满足定制化的需求。
下面以OAuth 2.0协议为例对本发明一个实施例提供的第三方***的访问认证方法作进一步说明:
在日常的开发工作时,经常遇到要与第三方认证***进行OAuth 2.0认证集成,在大多数的集成场景中,虽然第三方的认证***集成协议的认证流程与OAuth 2.0协议大体一致,但请求的参数名称,参数的传递位置等不尽相同。当一个***要集成多个第三方OAuth 2.0认证***的时候,就需要根据不同的协议进行开发。
从复用性上,OAuth 2.0协议的认证流程相似,只是参数方面不同,在同一***集成多个第三方认证***的时候,就会出现许多逻辑重复的代码,不仅增加了代码的复杂度,也不便于后期的代码维护。
从扩展性上,当根据需求对第三方集成的功能进行调整时,如果需求要对所有的集成生效,当对于此类认证集成功能没有一个统一的开发规范时,就需要对多处代码进行修改。这同时也增加了工作量,降低了开发的效率。
针对以上的问题,基于面向对象的设计原则,提供第三方***的访问认证方案,使***在进行OAuth 2.0认证集成时,做到低代码,易扩展,易复用,提高开发的效率。具体地可以包括:
(1)开发集成配置化
通过配置文件制定OAuth2.0涉及到的一些必要参数,如授权地址,凭证申请地址和用户信息获取地址,以及每个请求的模板和请求响应的转换类。
比如,将集成的协议描述成配置节,方便后端配置成对象实例,例如(yaml格式):
a.注释1:在第三方认证***申请的客户端标识;
b.注释2:与客户端标识对应的客户端密钥;
c.注释3:授权请求路径模板;
d.注释4:获取凭证(token)的请求方式;
e.注释5:获取凭证(token)的请求路径模板;
f.注释6:获取凭证(token)的请求需要添加的请求头;
g.注释7:token请求的响应转换类的全路径;
h.注释8:获取用户信息的请求方式;
i.注释9:获取用户信息的请求路径模板;
j.注释10:获取用户请求需要添加的请求头信息;
k.注释11:获取用户请求的响应转换类的全路径。
通过上述配置的定义,可以描述出一个认证过程中的基本信息,用于启动过程中生成实例。
(2)协议请求模板化
将协议中发送的请求,逻辑抽象成请求模板,通过配置定义,在发送请求时,以配置定义为依据组装请求。
在(1)的配置中的所有URL都是请求路径的模板,可以支持自定义请求参数,比如:
a)内置参数
框架内部对每个集成认证,生成一些内置的参数,如client-id,client-secret,在模板中用_clientId,_clientSecret表示,模板例如:https://xxx.com/authorize?app-id=#{_clientId},其中第一标识段为“https://xxx.com/authorize?”,下同。
b)静态参数
支持在模板中配置静态参数,如https://xxx.com/authorize?model=wechat。
c)动态参数
支持在请求或者请求头中提取参数,来组装请求,如:https://xxx.com/authorize?p1=#{request.param1}&p2={header.param2}。
在启动阶段将配置的请求模板加载成模板实例,用于进行请求时使用,对于返回值的处理,根据开发者自行实现的转换规则,即配置中的mapper配置的转换类的全路径,利用反射进行加载并调用转换方法,得到框架识别的类型。
(3)协议流程抽象化
将整个OAuth2.0认证过程,通过模板类串联起来,并通过请求路径决定运行哪个***的认证,以使其能够完成认证。
(4)提供协议流程扩展点
将上述的请求模板实现于接口,当根据需求,提供的流程无法满足时,可以通过实现接口的方式,对整个过程进行定制。
具体地,根据协议流程,抽象出通过code获取token,然后根据token获取用户信息的流程,在加载阶段,依据配置的信息和此模板类,生成对应的第三方***认证提供者,同时模板类也实现于定义好方法的接口,这样也能满足定制化的需求。
如图2所示,本发明实施例还提供了一种第三方***的访问认证装置,该装置可以包括:构建模块201、获取模块202、组装模块203、判断模块204和访问执行模块205;
构建模块201,用于构建至少一个请求模板;其中,每一个至少一个请求模板对应一个第三方***;
获取模块202,用于获取访问请求;其中,访问请求用于访问第三方***中的目标第三方***;
组装模块203,用于将获取模块202获取到的访问请求组装在构建模块201构建的与目标第三方***所对应的请求模板中,得到模板化访问请求;
判断模块204,用于将组装模块203得到的模板化访问请求发送给目标第三方***,以使加载在目标第三方***中的第三方认证***对模板化访问请求的合法性进行验证;
访问执行模块205,用于在判断模块204判断出第三方认证***确定模板化访问请求合法时,根据模板化访问请求对目标第三方***进行访问。
在一种可能的实现方式中,构建模块201,用于执行如下操作:
获取至少一个第三方***;
根据每一个第三方***,确定请求模板的第一标识段;其中,第一标识段用于表征每一个第三方***分别对应的请求模板中共有的部分;
针对每一个第三方***,均执行:
配置与当前第三方***所对应的至少一个配置参数;其中,任意一个配置参数唯一对应一个第三方***,任意两个第三方***各自对应的配置参数不相同;
将第一标识段和与当前第三方***所对应的配置参数进行组合,构建当前第三方***所对应的请求模板。
在一种可能的实现方式中,配置参数包括授权地址、凭证申请地址、用户信息获取地址和请求响应的转换类中的至少一个;
和/或,
配置参数包括内置参数、静态参数和动态参数中的至少一个。
在一种可能的实现方式中,判断模块204,用于执行如下操作:
S1:判断模板化访问请求中是否包含接口调用凭证;若是,则执行步骤S2;否则,向发送模板化访问请求的用户终端返回接口调用凭证不存在的提示;
S2:根据接口调用凭证包含的信息,判断该接口调用凭证对应的账户信息是否存在;若存在,则执行步骤S3;否则,向用户终端返回没有登录的提示;
S3:判断接口调用凭证是否超时;若是,则向用户终端返回接口调用凭证无效的提示;否则,执行步骤S4;
S4:判断用户终端是否具有访问目标第三方***的权限;若是,则确定模板化访问请求合法;否则,向用户终端返回不具有访问权限的提示。
在一种可能的实现方式中,构建模块201,还用于创建协议流程扩展点,以使请求模板通过实现接口的方式实现第三方***的访问认证。
本发明一个实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,当计算机程序在计算机中执行时,令计算机执行说明书中任一个实施例中的方法。
本发明一个实施例还提供了一种计算设备,包括存储器和处理器,存储器中存储有可执行代码,处理器执行可执行代码时,实现执行说明书中任一个实施例中的方法。
可以理解的是,本说明书实施例示意的结构并不构成对第三方***的访问认证装置的具体限定。在说明书的另一些实施例中,第三方***的访问认证装置可以包括比图示更多或者更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件或者软件和硬件的组合来实现。
上述装置内的各单元之间的信息交互、执行过程等内容,由于与本说明书方法实施例基于同一构思,具体内容可参见本说明书方法实施例中的叙述,此处不再赘述。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个····.·”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
最后需要说明的是:以上仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
综上,本发明各个实施例提供的一种第三方***的访问认证方法和装置,至少具有如下有益效果:
1、在本发明实施例中,在访问第三方***时,加载在第三方***中的第三方认证***会对访问请求进行访问认证。具体地,首先需要构建与第三方***一一对应的请求模板,然后将获取到的用于访问第三方***的访问请求组装在该请求模板中,进一步当将组装好的访问请求发送给第三方***时,第三方认证***会对该访问请求的合法性进行验证,进而决定是否能够对目标第三方***进行访问。由此可见,本方案通过构建与第三方***对应的请求模板,通过将每个请求所对应的一些参数组装进该模板中即可实现访问,即访问同一个第三方***的访问请求具有相同的模板,从而能够简化代码的复杂程度,同时在后期进行扩展和维护时也能够减少工作量。
2、在本发明实施例中,在构建请求模板时,首先获取第三方***,然后确定出各个第三方***对应的请求模板中共有的第一标识段,进一步,针对每一个第三方***配置与当前第三方***所对应的至少一个配置参数,如此通过将配置参数和第一标识段进行组合,即可得到第三方***所对应的请求模板。由此可见,本方案通过将与第三方***唯一对应的配置参数配置到请求模板中,如此每一个请求模板可以唯一对应一个第三方***,从而在根据该请求模板进行访问时能够对应到该第三方***。此外,通过设定各个第三方***分别对应的请求模板中共有的第一标识段,在开发时能够简化代码,降低开发和维护的难度。
3、在本发明实施例中,配置参数可以是授权地址、凭证申请地址、用户信息获取地址和请求响应的转换类中的一个或多个。此外,该配置参数还可以是内置参数、静态参数和动态参数中的一个或多个。如此通过将上述各种配置参数添加到请求模板,与第一标识段组合生成请求模板后,不仅可以根据该配置的参数确定第三方***,而且还可以根据该参数进行访问认证和访问,从而只需要少量的代码即可实现访问功能的开发。
4、在本发明实施例中,在对模板化访问请求的合法性进行验证时,具体可以判断模板化访问请求中是否包含接口调用凭证、判断接口调用凭证对应的账户信息是否存在、接口调用凭证是否超时以及用户终端是否具有访问权限,如此通过进行层层验证,能够保证第三方***的安全性。而且,通过对接口调用凭证进行参数设定,还可以有效地对恶意访问进行限制。
5、在本发明实施例中,实现了将上述的请求模板实现于接口,当根据需求,提供的流程无法满足时,可以通过实现接口的方式,对整个过程进行定制,从而满足定制化的需求。
Claims (10)
1.第三方***的访问认证方法,其特征在于,包括:
构建至少一个请求模板;其中,每一个所述至少一个请求模板对应一个第三方***;
获取访问请求;其中,所述访问请求用于访问所述第三方***中的目标第三方***;
将所述访问请求组装在与所述目标第三方***所对应的请求模板中,得到模板化访问请求;
将所述模板化访问请求发送给所述目标第三方***,以使加载在所述目标第三方***中的第三方认证***对所述模板化访问请求的合法性进行验证;
在所述第三方认证***确定所述模板化访问请求合法时,根据所述模板化访问请求对所述目标第三方***进行访问。
2.根据权利要求1所述的方法,其特征在于,所述构建至少一个请求模板,包括:
获取至少一个第三方***;
根据每一个所述第三方***,确定所述请求模板的第一标识段;其中,所述第一标识段用于表征每一个所述第三方***分别对应的请求模板中共有的部分;
针对每一个所述第三方***,均执行:
配置与当前第三方***所对应的至少一个配置参数;其中,任意一个所述配置参数唯一对应一个第三方***,任意两个第三方***各自对应的配置参数不相同;
将所述第一标识段和与当前第三方***所对应的配置参数进行组合,构建当前第三方***所对应的请求模板。
3.根据权利要求2所述的方法,其特征在于,
所述配置参数包括授权地址、凭证申请地址、用户信息获取地址和请求响应的转换类中的至少一个;
和/或,
所述配置参数包括内置参数、静态参数和动态参数中的至少一个。
4.根据权利要求1所述的方法,其特征在于,所述第三方认证***对所述模板化访问请求的合法性进行验证的过程,包括:
S1:判断所述模板化访问请求中是否包含接口调用凭证;若是,则执行步骤S2;否则,向发送所述模板化访问请求的用户终端返回接口调用凭证不存在的提示;
S2:根据所述接口调用凭证包含的信息,判断该接口调用凭证对应的账户信息是否存在;若存在,则执行步骤S3;否则,向所述用户终端返回没有登录的提示;
S3:判断所述接口调用凭证是否超时;若是,则向所述用户终端返回接口调用凭证无效的提示;否则,执行步骤S4;
S4:判断所述用户终端是否具有访问所述目标第三方***的权限;若是,则确定所述模板化访问请求合法;否则,向所述用户终端返回不具有访问权限的提示。
5.根据权利要求1至4中任一所述的方法,其特征在于,在所述构建至少一个请求模板之后,进一步包括:
创建协议流程扩展点,以使所述请求模板通过实现接口的方式实现第三方***的访问认证。
6.第三方***的访问认证装置,其特征在于,包括:构建模块、获取模块、组装模块、判断模块和访问执行模块;
所述构建模块,用于构建至少一个请求模板;其中,每一个所述至少一个请求模板对应一个第三方***;
所述获取模块,用于获取访问请求;其中,所述访问请求用于访问所述第三方***中的目标第三方***;
所述组装模块,用于将所述获取模块获取到的所述访问请求组装在所述构建模块构建的与所述目标第三方***所对应的请求模板中,得到模板化访问请求;
所述判断模块,用于将所述组装模块得到的所述模板化访问请求发送给所述目标第三方***,以使加载在所述目标第三方***中的第三方认证***对所述模板化访问请求的合法性进行验证;
所述访问执行模块,用于在所述判断模块判断出所述第三方认证***确定所述模板化访问请求合法时,根据所述模板化访问请求对所述目标第三方***进行访问。
7.根据权利要求6所述的装置,其特征在于,
所述构建模块,用于执行如下操作:
获取至少一个第三方***;
根据每一个所述第三方***,确定所述请求模板的第一标识段;其中,所述第一标识段用于表征每一个所述第三方***分别对应的请求模板中共有的部分;
针对每一个所述第三方***,均执行:
配置与当前第三方***所对应的至少一个配置参数;其中,任意一个所述配置参数唯一对应一个第三方***,任意两个第三方***各自对应的配置参数不相同;
将所述第一标识段和与当前第三方***所对应的配置参数进行组合,构建当前第三方***所对应的请求模板。
8.根据权利要求7所述的装置,其特征在于,
所述配置参数包括授权地址、凭证申请地址、用户信息获取地址和请求响应的转换类中的至少一个;
和/或,
所述配置参数包括内置参数、静态参数和动态参数中的至少一个。
9.根据权利要求6所述的装置,其特征在于,
所述判断模块,用于执行如下操作:
S1:判断所述模板化访问请求中是否包含接口调用凭证;若是,则执行步骤S2;否则,向发送所述模板化访问请求的用户终端返回接口调用凭证不存在的提示;
S2:根据所述接口调用凭证包含的信息,判断该接口调用凭证对应的账户信息是否存在;若存在,则执行步骤S3;否则,向所述用户终端返回没有登录的提示;
S3:判断所述接口调用凭证是否超时;若是,则向所述用户终端返回接口调用凭证无效的提示;否则,执行步骤S4;
S4:判断所述用户终端是否具有访问所述目标第三方***的权限;若是,则确定所述模板化访问请求合法;否则,向所述用户终端返回不具有访问权限的提示。
10.根据权利要求6至9中任一所述的装置,其特征在于,
所述构建模块,还用于创建协议流程扩展点,以使所述请求模板通过实现接口的方式实现第三方***的访问认证。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110101483.4A CN112953892B (zh) | 2021-01-26 | 2021-01-26 | 第三方***的访问认证方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110101483.4A CN112953892B (zh) | 2021-01-26 | 2021-01-26 | 第三方***的访问认证方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112953892A true CN112953892A (zh) | 2021-06-11 |
CN112953892B CN112953892B (zh) | 2022-04-19 |
Family
ID=76236748
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110101483.4A Active CN112953892B (zh) | 2021-01-26 | 2021-01-26 | 第三方***的访问认证方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112953892B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113778721A (zh) * | 2021-09-27 | 2021-12-10 | 京东方科技集团股份有限公司 | 多个子***接入的接入开发方法、装置和***、及介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101335626A (zh) * | 2008-08-06 | 2008-12-31 | ***集团宽带业务应用国家工程实验室有限公司 | 多级认证方法和多级认证*** |
CN102724647A (zh) * | 2012-06-06 | 2012-10-10 | 电子科技大学 | 一种能力访问授权方法及*** |
CN103034504A (zh) * | 2013-01-05 | 2013-04-10 | 湖南经桥网络科技有限公司 | 一种模板网站的应用方法及装置 |
CN103179099A (zh) * | 2011-12-23 | 2013-06-26 | 北京新媒传信科技有限公司 | 一种接入开放网站平台的统一认证方法和一种网站平台 |
US20140033279A1 (en) * | 2012-07-25 | 2014-01-30 | Oracle International Corporation | System and method of extending oauth server(s) with third party authentication/authorization |
CN107770225A (zh) * | 2016-08-22 | 2018-03-06 | 北京京东尚科信息技术有限公司 | 一种 webService访问***和访问webService的方法 |
CN110808840A (zh) * | 2019-10-30 | 2020-02-18 | 网易(杭州)网络有限公司 | 业务处理方法及装置、电子设备、存储介质 |
CN111314355A (zh) * | 2020-02-20 | 2020-06-19 | 深信服科技股份有限公司 | 一种vpn服务器的认证方法、装置、设备及介质 |
CN111327582A (zh) * | 2019-08-22 | 2020-06-23 | 刘高峰 | 一种基于OAuth协议的授权方法、装置及*** |
-
2021
- 2021-01-26 CN CN202110101483.4A patent/CN112953892B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101335626A (zh) * | 2008-08-06 | 2008-12-31 | ***集团宽带业务应用国家工程实验室有限公司 | 多级认证方法和多级认证*** |
CN103179099A (zh) * | 2011-12-23 | 2013-06-26 | 北京新媒传信科技有限公司 | 一种接入开放网站平台的统一认证方法和一种网站平台 |
CN102724647A (zh) * | 2012-06-06 | 2012-10-10 | 电子科技大学 | 一种能力访问授权方法及*** |
US20140033279A1 (en) * | 2012-07-25 | 2014-01-30 | Oracle International Corporation | System and method of extending oauth server(s) with third party authentication/authorization |
CN103034504A (zh) * | 2013-01-05 | 2013-04-10 | 湖南经桥网络科技有限公司 | 一种模板网站的应用方法及装置 |
CN107770225A (zh) * | 2016-08-22 | 2018-03-06 | 北京京东尚科信息技术有限公司 | 一种 webService访问***和访问webService的方法 |
CN111327582A (zh) * | 2019-08-22 | 2020-06-23 | 刘高峰 | 一种基于OAuth协议的授权方法、装置及*** |
CN110808840A (zh) * | 2019-10-30 | 2020-02-18 | 网易(杭州)网络有限公司 | 业务处理方法及装置、电子设备、存储介质 |
CN111314355A (zh) * | 2020-02-20 | 2020-06-19 | 深信服科技股份有限公司 | 一种vpn服务器的认证方法、装置、设备及介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113778721A (zh) * | 2021-09-27 | 2021-12-10 | 京东方科技集团股份有限公司 | 多个子***接入的接入开发方法、装置和***、及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112953892B (zh) | 2022-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10728235B2 (en) | System and method for mobile single sign-on integration | |
CN108306877B (zh) | 基于node js的用户身份信息的验证方法、装置和存储介质 | |
JP6349579B2 (ja) | 条件付きログインプロモーション | |
JP6820054B2 (ja) | 外部アカウントを用いてリソースを管理するための方法およびデバイス | |
KR101270323B1 (ko) | 단일 서비스 사인 온을 제공하는 방법, 장치 및 컴퓨터 판독가능 저장 매체 | |
US9571495B2 (en) | Methods and systems for authorizing web service requests | |
US11201778B2 (en) | Authorization processing method, device, and system | |
JP5530562B2 (ja) | ドメインネームシステムレコードのアップデートの検証 | |
EP3694175B1 (en) | System and method for delegating authority through coupled devices | |
JP2023541599A (ja) | サービス通信方法、システム、装置及び電子機器 | |
CN111177246B (zh) | 一种业务数据的处理方法及装置 | |
CN111698250A (zh) | 访问请求处理方法、装置、电子设备及计算机存储介质 | |
US20200244652A1 (en) | Streaming authentication using chained identifiers | |
JP2024505692A (ja) | ブロックチェーンネットワークに基づくデータ処理方法、装置及びコンピュータ機器 | |
US11516207B2 (en) | Method for provision of identity verification certificate | |
CN112953892B (zh) | 第三方***的访问认证方法和装置 | |
JP6185934B2 (ja) | サーバー・アプリケーションと多数の認証プロバイダーとの統合 | |
CN114675876B (zh) | 一种业务处理方法、装置、电子设备及存储介质 | |
CN113992415B (zh) | 一种基于OAuth2协议的统一认证授权方法 | |
CN110324333B (zh) | 一种数据处理方法、装置、终端及存储介质 | |
JP2015118459A (ja) | 画像形成装置、情報端末、サーバ装置、データ処理システム、画像形成装置の通信方法、情報端末の通信方法、サーバ装置の通信方法、及びプログラム | |
US20230388311A1 (en) | Network system and control method thereof | |
WO2024114636A1 (zh) | 认证方法、装置、业务平台及存储介质 | |
CN117319399B (zh) | 云管理平台中云平台创建方法、装置、***、设备及介质 | |
CN117614628A (zh) | 一种基于istio的jwt认证授权方法及*** |
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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220330 Address after: No. 1036, Shandong high tech Zone wave road, Ji'nan, Shandong Applicant after: Inspur Genersoft Co.,Ltd. Address before: 250100 No. 2877 Kehang Road, Sun Village Town, Jinan High-tech District, Shandong Province Applicant before: SHANDONG INSPUR GENESOFT INFORMATION TECHNOLOGY Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |