CN113938886B - 身份认证平台测试方法、装置、设备及存储介质 - Google Patents

身份认证平台测试方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN113938886B
CN113938886B CN202111442126.0A CN202111442126A CN113938886B CN 113938886 B CN113938886 B CN 113938886B CN 202111442126 A CN202111442126 A CN 202111442126A CN 113938886 B CN113938886 B CN 113938886B
Authority
CN
China
Prior art keywords
identity authentication
virtual
authentication platform
platform
application
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
CN202111442126.0A
Other languages
English (en)
Other versions
CN113938886A (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 Para Software Co ltd
Original Assignee
Shanghai Para Software 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 Para Software Co ltd filed Critical Shanghai Para Software Co ltd
Priority to CN202111442126.0A priority Critical patent/CN113938886B/zh
Publication of CN113938886A publication Critical patent/CN113938886A/zh
Application granted granted Critical
Publication of CN113938886B publication Critical patent/CN113938886B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations

Abstract

本发明实施例公开了一种身份认证平台测试方法、装置、设备及存储介质,该方法包括:通过身份认证平台创建虚拟用户、注册虚拟应用以及基于虚拟用户注册虚拟应用的虚拟应用账号,身份认证平台用于基于虚拟应用对应的预设协议提供单点登录功能;在注册虚拟应用的过程中,配置虚拟用户的预设用户信息;模拟浏览器客户端和虚拟应用调用身份认证平台中与预设协议相对应的预设认证过程接口进行虚拟用户登录认证,获取身份认证平台返回的目标用户信息;判断目标用户信息与预设用户信息是否匹配,若是,则测试通过。该方法解决了身份认证平台测试过程中,协议应用实际搭建和手工配置的问题,实现高效验证企业应用单点登录功能的目的。

Description

身份认证平台测试方法、装置、设备及存储介质
技术领域
本发明实施例涉及计算机技术领域,尤其涉及身份认证平台测试方法、装置、设备及存储介质。
背景技术
近年来,越来越多企业投入到对身份安全领域的研究,身份安全领域一个重要的概念是应用的单点登录,提供这一技术的企业需要开发一个统一的身份认证平台做各种协议应用的登录,这里面比较典型的协议有CAS(Central Authentication Service,中央认证服务)、OAuth(Open Authorization)2.0、OIDC(OpenID Connect,开放身份标识连接)、SAML(Security Assertion Markup Language,安全断言标记语言),这些协议分别约定了不同的认证过程。
对企业的统一身份平台做单点登录功能测试,需要搭建真实的应用,来验证CAS、OAuth2.0、OIDC和SAML协议认证的正确性。如通过一系列认证过程,最终通过判断用户是否能以某个帐号的身份成功访问进这些协议的应用来验证企业认证平台该功能的正确性。
对于现有的身份认证平台测试方法,在进行单点协议认证过程中,对企业统一身份平台做单点登录功能测试需要搭建真实的应用,验证协议认证的正确性,还涉及很多手工配置和手工测试检查部分,增加了企业的运维和测试的时间成本,测试效率低下。
发明内容
本发明实施例提供一种身份认证平台测试方法、装置、设备及介质,可以解决用于单点协议认证的身份认证平台测试过程中,因需要协议应用的实际搭建和手工配置而导致的测试效率低下的问题。
第一方面,本发明实施例提供了一种身份认证平台测试方法,其特征在于,包括:
通过身份认证平台创建虚拟用户、注册虚拟应用、以及基于所述虚拟用户注册所述虚拟应用的虚拟应用账号,其中,在注册虚拟应用的过程中,配置所述虚拟用户的预设用户信息,所述身份认证平台用于基于所述虚拟应用对应的预设协议提供单点登录功能;
模拟浏览器客户端和所述虚拟应用调用所述身份认证平台中与所述预设协议相对应的预设认证过程接口进行所述虚拟用户的登录认证,以获取所述身份认证平台返回的目标用户信息;
判断所述目标用户信息与所述预设用户信息是否匹配,若是,则确定所述身份认证平台的对应所述预设协议的单点登录功能测试结果为通过。
第二方面,本发明实施例还提供了一种身份认证平台测试装置,包括:
虚拟应用账号注册模块,用于通过身份认证平台创建虚拟用户、注册虚拟应用、以及基于所述虚拟用户注册所述虚拟应用的虚拟应用账号,其中,在注册虚拟应用的过程中,配置所述虚拟用户的预设用户信息,所述身份认证平台用于基于所述虚拟应用对应的预设协议提供单点登录功能;
目标用户信息获取模块,用于模拟浏览器客户端和所述虚拟应用调用所述身份认证平台中与所述预设协议相对应的预设认证过程接口进行所述虚拟用户的登录认证,以获取所述身份认证平台返回的目标用户信息;
单点登录功能确定模块,用于判断所述目标用户信息与所述预设用户信息是否匹配,若是,则确定所述身份认证平台的对应所述预设协议的单点登录功能测试结果为通过。
第三方面,本发明实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如本发明实施例任一所述身份认证平台测试方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例任一所述身份认证平台测试方法。
本发明实施例提供的一种身份认证平台测试方法、装置、设备及介质,通过身份认证平台创建虚拟用户、注册虚拟应用以及基于虚拟用户注册虚拟应用的虚拟应用账号;在注册虚拟应用的过程中,配置虚拟用户的预设用户信息;模拟浏览器客户端和虚拟应用调用身份认证平台中与预设协议相对应的预设认证过程接口进行虚拟用户登录认证,获取身份认证平台返回的目标用户信息;判断目标用户信息与预设用户信息是否匹配,若是,确定身份认证平台的对应预设协议的单点登录功能测试结果为通过。通过采用上述技术方案,创建虚拟用户以及注册虚拟应用,模拟浏览器和虚拟应用通过身份认证平台进行单点登录的过程,进而得到测试结果,无需实际搭建协议应用以及无需进行手工配置,可以解决在对身份认证平台进行测试时,单点协议认证过程中,因需要协议应用实际搭建和手工配置而导致的测试效率低下的问题,实现高效验证企业应用单点登录功能的目的。
附图说明
图1为本发明实施例提供的一种身份认证平台测试方法的流程图;
图2为本发明实施例提供的另一种身份认证平台测试方法的流程图;
图3为本发明实施例提供的一种身份认证平台测试方法中虚拟应用对应协议为CAS的流程示意图;
图4为本发明实施例提供的另一种身份认证平台测试方法的流程图;
图5为本发明实施例提供的一种身份认证平台测试方法中虚拟应用对应协议为OIDC的流程示意图;
图6为本发明实施例提供的另一种身份认证平台测试方法的流程图;
图7为本发明实施例提供的一种身份认证平台测试方法中虚拟应用对应协议为SAML的流程示意图;
图8为本发明实施例提供的一种身份认证平台测试装置的结构示意图;
图9为本发明实施例提供的电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本发明的实施例。虽然附图中显示了本发明的某些实施例,然而应当理解的是,本发明可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本发明。应当理解的是,本发明的附图及实施例仅用于示例性作用,并非用于限制本发明的保护范围。
应当理解,本发明的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本发明的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本发明中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本发明中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本发明实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
下述各实施例中,每个实施例中同时提供了可选特征和示例,实施例中记载的各个特征可进行组合,形成多个可选方案,不应将每个编号的实施例仅视为一个技术方案。
图1为本发明实施例提供的一种身份认证平台测试方法的流程图,本发明实施例可适用于实现对身份认证平台的单点登录功能进行测试的情况,该方法可以由一种身份认证平台测试装置来执行,该装置可以采用软件和/或硬件的方式来实现。该装置可配置于电子设备中,在一个具体的实施例中,电子设备比如可以是笔记本电脑、台式计算机或服务器等,身份认证平台测试方法可以通过自动化脚本(以下简称测试脚本)的执行来实现。参考图1,本发明实施例的方法具体包括如下步骤:
S101、通过身份认证平台创建虚拟用户、注册虚拟应用、以及基于虚拟用户注册虚拟应用的虚拟应用账号,其中,在注册虚拟应用的过程中,配置虚拟用户的预设用户信息,身份认证平台用于基于虚拟应用对应的预设协议提供单点登录功能。
其中,单点登录是比较流行的企业业务整合的解决方案之一,是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。身份认证,就是判断一个用户是否为合法用户的处理过程。最常用的简单身份认证方式是系统通过核对用户输入的用户名和口令,看其是否与系统中存储的该用户的用户名和口令一致,来判断用户身份是否正确。虚拟用户可以理解为自动创建的虚构的用户,虚拟用户的创建规则可预先配置于测试脚本中,测试脚本开始运行后,根据该创建规则来创建虚拟用户。虚拟应用可以理解为通过测试脚本的运行而模拟出来的具备真实的基于单点登录协议的应用的相应功能的程序或模块。而传统测试方案中的应用是需要测试人员预先安装在与浏览器客户端所在设备不同的实体设备中的,并且在该实体设备实际运行。虚拟应用账号可以理解为用于登录虚拟应用的账号,该账号可以由数字、字母或者下划线等组成。预设用户信息可以包括用户的属性信息,例如用户的电话号码、所在部门或者职位等等。
示例性的,身份认证平台一般会提供用于创建用户、注册单点登录协议应用、以及注册应用账号的相关接口,本发明实施例中,可以通过调用身份认证平台中的相应接口来实现创建虚拟用户、注册虚拟应用、以及基于虚拟用户注册虚拟应用的虚拟应用账号。在注册虚拟应用的过程中,配置虚拟用户的预设用户信息,其中用户的电话号码可以为XXX、所在部门为市场部或者职位为经理等。
S102、模拟浏览器客户端和虚拟应用调用身份认证平台中与预设协议相对应的预设认证过程接口进行虚拟用户的登录认证,以获取身份认证平台返回的目标用户信息。
其中,接口泛指实体把自己提供给外界的一种抽象化物(可以为另一实体),用以由内部操作分离出外部沟通方法,使其能被内部修改而不影响外界其他实体与其交互的方式。预设认证过程接口可以理解为身份认证平台中向外提供的用于实现单点登录功能认证过程的接口。目标用户信息可以理解为身份认证平台对浏览器客户端或虚拟应用发起的登录认证进行响应时返回的用户信息,具体类型一般与预设用户信息一致,也即可以包括用户的属性信息,例如用户的电话号码、所在部门或者职位等等。
示例性的,模拟浏览器客户端和虚拟应用调用身份认证平台中与预设协议相对应的预设认证过程接口进行虚拟用户的登录认证,具体的调用方式可以根据当前测试的单点登录协议来设定,身份认证平台的预设认证过程接口被调用后所执行的相关操作以及与浏览器客户端和虚拟应用之间的交互与当前测试的单点登录协议相关,对于目前的单点登录协议来说,身份认证平台均会返回目标用户信息,返回方式可能因协议不同而有所差异。
S103、判断目标用户信息与预设用户信息是否匹配,若是,则确定身份认证平台的对应预设协议的单点登录功能测试结果为通过。
示例性的,将目标用户信息中的电话号码或者所在职位与预设用户信息中的电话号码或者所在职位进行比对,判断两者是否匹配,若匹配,则确定身份认证平台的对应预设协议的单点登录功能测试结果为通过。可选的,若不匹配,则确定身份认证平台的对应预设协议的单点登录功能测试结果为失败。
本发明实施例的技术方案,通过身份认证平台创建虚拟用户、注册虚拟应用以及基于虚拟用户注册虚拟应用的虚拟应用账号,身份认证平台用于基于虚拟应用对应的预设协议提供单点登录功能;在注册虚拟应用的过程中,配置虚拟用户的预设用户信息;模拟浏览器客户端和虚拟应用调用身份认证平台中与预设协议相对应的预设认证过程接口进行虚拟用户登录认证,获取身份认证平台返回的目标用户信息;判断目标用户信息与预设用户信息是否匹配,若是确定身份认证平台的对应预设协议的单点登录功能测试结果为通过。通过采用上述技术方案,创建虚拟用户以及注册虚拟应用,模拟浏览器和虚拟应用通过身份认证平台进行单点登录的过程,进而得到测试结果,无需实际搭建协议应用以及无需进行手工配置,可以解决在对身份认证平台进行测试时,单点协议认证过程中,因需要协议应用实际搭建和手工配置而导致的测试效率低下的问题,实现高效验证企业应用单点登录功能的目的。
在一些实施例中,所述配置所述虚拟用户的预设用户信息,包括:配置所述虚拟用户的预设用户信息,以及所述预设用户信息对应的字段映射信息,其中,所述字段映射信息中包括所述预设用户信息对应的应用侧字段和平台侧字段的对应关系,所述应用侧字段对应于所述虚拟应用,所述平台侧字段对应于所述身份认证平台;其中,所述模拟浏览器客户端和所述虚拟应用调用所述身份认证平台中与所述预设协议相对应的预设认证过程接口进行所述虚拟用户的登录认证,以获取所述身份认证平台返回的目标用户信息,包括:模拟浏览器客户端和所述虚拟应用调用所述身份认证平台中与所述预设协议相对应的预设认证过程接口进行所述虚拟用户的登录认证,以获取所述身份认证平台返回的目标平台侧字段和目标用户信息;其中,所述判断所述目标用户信息与所述预设用户信息是否匹配,包括:根据所述目标平台侧字段查询所述字段映射信息,得到目标应用侧字段;判断所述目标用户信息与所述目标应用侧字段对应的预设用户信息是否匹配。这样设置的好处在于,可以提高单点登录功能测试的准确性。
其中,字段映射信息可以理解为对应的用户信息分别在虚拟应用和身份认证平台中对应同一含义的字段之间的联系,字段映射信息可以存储在身份认证平台。应用侧字段可以理解为存储于应用侧的用户信息的字段,平台侧字段可以理解为存储于身份认证平台的用户信息的字段。由于不同的系统内针对同一种用户信息可能存在不同的命名方式,以电话号码为例,在应用侧可能存储为电话号码,而平台侧可能存储为手机号,两者含义相同,只是表现形式存在差异,为了抹平这种差异,可以配置字段映射信息,则字段映射信息中可以包括电话号码和手机号的对应关系。目标平台侧字段可以理解为身份认证平台当前返回的平台侧字段,目标用户信息可以是目标平台侧字段对应的取值,例如,目标平台侧字段为手机号,目标用户信息为13511111111。在接收到目标平台侧字段后,根据字段映射信息(例如从身份认证平台获取)查找到与其对应的目标应用侧字段(如电话号码),从之前配置的虚拟用户的预设用户信息中读取目标应用侧字段对应的取值,如电话号码为13511111111,与目标用户信息一致,则测试结果为通过,若电话号码为13522222222,与目标用户信息不一致,则测试结果为不通过。
在一些实施例中,所述模拟浏览器客户端和所述虚拟应用调用所述身份认证平台中与所述预设协议相对应的预设认证过程接口进行所述虚拟用户的登录认证,以获取所述身份认证平台返回的目标平台侧字段和目标用户信息,包括:模拟浏览器客户端访问所述虚拟应用的应用地址,通过所述虚拟应用向所述身份认证平台发起认证请求;模拟浏览器客户端在平台登录页面中进行所述虚拟用户的授权登录操作,其中,所述身份认证平台在接收到所述认证请求后,确定用户登录状态为未登录的情况下指示浏览器客户端跳转至所述平台登录页面;模拟浏览器客户端接收所述身份认证平台返回的登录反馈信息,并基于所述登录反馈信息通过所述虚拟应用获取所述身份认证平台返回的目标平台侧字段和目标用户信息。这样设置的好处在于,更全面地模拟登录认证过程,提高测试结果的准确性和可靠性。
其中,应用地址可以理解为用于访问虚拟应用的IP地址。登录反馈信息可以理解为反馈用户登录状态的状态信息。
在一些实施例中,所述预设协议包括中央认证服务CAS协议、OAuth协议、开放身份标识连接OIDC协议和安全断言标记语言SAML协议中的至少一个。可选的,自动化脚本可以同时支持以上至少两种协议的测试。在通过身份认证平台创建虚拟用户、注册虚拟应用、以及基于所述虚拟用户注册所述虚拟应用的虚拟应用账号之前,还可包括:接收协议选择信息,根据协议选择信息确定当前的预设协议。例如,在自动化脚本初始化时,可以接收测试人员输入的协议选择信息,如协议选择信息对应于CAS协议,则当前的预设协议为CAS协议。
其中,CAS是一种独立开放指令协议,是耶鲁大学发起的一个开源项目,旨在为Web应用系统提供一种可靠的单点登录方法。OIDC协议可以理解为用于用户身份认证,将用户数据安全地暴露给第三方,在OAuth2上构建了一个身份层,是一个基于OAuth2协议的身份认证标准协议。OAuth 2.0可以理解为用于授权的行业标准协议,致力于简化客户端开发人员的工作,同时为Web应用程序,桌面应用程序,移动电话和物联网设备提供特定的授权流程,但是它无法提供完善的身份认证功能,OIDC使用OAuth2的授权服务器来为第三方客户端提供用户的身份认证,并把对应的身份认证信息传递给客户端,且可以适用于各种类型的客户端(比如服务端应用),且完全兼容OAuth2。SAML协议是在身份提供者和服务提供者之间交换,其解决的最重要的需求是网页浏览器单点登录。身份标识令牌信息可以包含已认证用户的一些用户信息。对象简谱网页令牌(Json Web Token,JWT)规范是JSON风格轻量级的授权和身份认证规范,可实现无状态、分布式的Web应用授权;它是分布式服务权限控制的标准解决方案,JSON(JavaScript Object Notation,JS对象简谱)是一种轻量级的数据交换格式。公钥与私钥是通过一种算法得到的一个密钥对(即一个公钥和一个私钥),公钥是密钥对中公开的部分,私钥则是非公开的部分。公钥通常用于加密会话密钥、验证数字签名,或加密可以用相应的私钥解密的数据。验签可以理解为A发送消息给B,B接收消息之后验证签名是否正确的过程。
示例性的,在当前的预设协议为OIDC协议的情况下,所述模拟浏览器客户端接收所述身份认证平台返回的登录反馈信息,并基于所述登录反馈信息通过所述虚拟应用获取所述身份认证平台返回的目标平台侧字段和目标用户信息,包括:模拟浏览器客户端接收所述身份认证平台返回的登录反馈信息和所述虚拟应用的应用地址;模拟浏览器客户端访问所述虚拟应用的应用地址,以将所述登录反馈信息提供给所述虚拟应用;通过所述虚拟应用根据所述登录反馈信息从所述身份认证平台获取相应的身份标识令牌信息,采用对象简谱网页令牌JWT规范对所述身份标识令牌信息进行解析,得到签名的目标平台侧字段和目标用户信息,并采用所述身份认证平台对应的公钥进行验签,其中,在验签成功后,判断所述目标用户信息与所述目标应用侧字段对应的预设用户信息是否匹配。这样设置的好处在于,在预设协议为OIDC协议情况下,测试脚本可以适应于该协议,自动完成对身份标识令牌信息进行解析以及验签的过程,提升测试过程的自动化程度,提高了校验用户信息的准确率和效率,从而提高针对OIDC协议的身份认证平台的测试结果准确度和测试效率。
在一些实施例中,在当前的预设协议为SAML协议的情况下,所述模拟浏览器客户端接收所述身份认证平台返回的登录反馈信息,并基于所述登录反馈信息通过所述虚拟应用获取所述身份认证平台返回的目标平台侧字段和目标用户信息,包括:模拟浏览器客户端接收所述身份认证平台返回的加密登录反馈信息;模拟浏览器客户端向所述身份认证平台发起CAS认证,并接收所述身份认证平台返回的票据信息,基于所述票据信息向所述身份认证平台发起票据验证;通过所述虚拟应用接收所述身份认证平台返回的采用Base64进行编码并采用私钥签名的目标平台侧字段和目标用户信息,采用Base64进行解码,以及采用所述身份认证平台对应的公钥进行验签,其中,在验签成功后,判断所述目标用户信息与所述目标应用侧字段对应的预设用户信息是否匹配。这样设置的好处在于,在预设协议为SAML协议情况下,测试脚本可以适应于该协议,自动完成base64编解码和验签过程,提升测试过程的自动化程度,提高了校验用户信息的准确率和效率,从而提高针对SAML协议的身份认证平台的测试结果准确度和测试效率。
其中,票据信息可以理解为类型为“小型文本文件”,是某些网站为了辨别用户身份,进行Session跟踪而储存在用户本地终端上的数据(通常经过加密),由用户客户端计算机暂时或永久保存的信息。Session跟踪是web程序中常用技术,用来跟踪用户的整个会话。
在一些实施例中,所述身份认证平台中的接口为超文本传输协议(HyperTextTransfer Protocol,HTTP)接口,所述方法通过运行与HTTP接口相匹配的自动化脚本实现。这样设置的好处在于,可以与身份认证平台中的接口相匹配,通过运行自动化脚本的方式,可以更加灵活地实现身份认证平台的测试,扩大适用范围。
在一些实施例中,在得到单点登录功能测试结果后,删除所述自动化脚本的运行数据,其中,所述运行数据包括与所述虚拟用户、所述虚拟应用和所述虚拟应用账号相关的数据。这样设置的好处在于,以便脚本可以多次运行,提升自动化脚本的可复用性。
图2为本发明实施例提供的另一种身份认证平台测试方法的流程图,该方法在上述各可选实施例基础上进行优化,参考图2,本发明实施例的方法具体包括如下步骤:
S201、通过身份认证平台创建虚拟用户、注册虚拟应用、以及基于虚拟用户注册虚拟应用的虚拟应用账号,其中,在注册虚拟应用的过程中,配置虚拟用户的预设用户信息,身份认证平台用于基于虚拟应用对应的预设协议提供单点登录功能。
示例性的,图3为本发明实施例提供的一种身份认证平台测试方法中虚拟应用对应协议为CAS的流程示意图。如图3所示,其中,身份认证平台可以是企业认证平台,虚拟应用可以是CAS应用,CAS应用对应的预设协议为CAS协议。通过企业认证平台创建虚拟用户、注册CAS应用、以及基于虚拟用户注册CAS应用的CAS账号,其中,在注册CAS应用的过程中,配置虚拟用户的预设用户信息,以及预设用户信息对应的字段映射信息,字段映射信息中包括预设用户信息对应的应用侧字段和平台侧字段的对应关系,应用侧字段对应于CAS应用,平台侧字段对应于企业认证平台。企业认证平台用于基于CAS应用对应的CAS协议提供单点登录功能。
S202、模拟浏览器客户端访问虚拟应用的应用地址,通过虚拟应用向身份认证平台发起认证请求。
继续上述举例,参考图3,通过模拟浏览器客户端访问CAS应用的应用地址,然后通过CAS应用向企业认证平台发起认证请求。
S203、模拟浏览器客户端在平台登录页面中进行虚拟用户的授权登录操作,其中,身份认证平台在接收到认证请求后,确定用户登录状态为未登录的情况下指示浏览器客户端跳转至平台登录页面。
继续上述举例,企业认证平台在接收到认证请求后,检查用户登录状态,确定为未登录的情况下指示浏览器客户端跳转至平台登录页面,随后,模拟浏览器客户端在平台登录页面中进行虚拟用户的授权登录操作。
S204、模拟浏览器客户端接收身份认证平台返回的登录反馈信息,并基于登录反馈信息通过虚拟应用获取身份认证平台返回的目标平台侧字段和目标用户信息。
继续上述举例,通过浏览器客户端跳转至平台登录页面,虚拟用户登录之后,模拟浏览器客户端接收企业认证平台返回的登录反馈信息,其中,登录反馈信息可包括用户登录成功的cookies信息和ticket。模拟浏览器客户端基于登录反馈信息重定向到CAS应用callback地址,模拟CAS应用携带ticket向企业认证平台请求获取用户信息,企业认证平台在检查ticket有效时,返回用户信息,也即返回目标平台侧字段和目标用户信息,使得CAS应用可以获取到企业认证平台返回的目标平台侧字段和目标用户信息。
其中,当虚拟应用为OAuth应用时,登录反馈信息可包括用户登录成功的cookies信息和code,模拟浏览器客户端基于登录反馈信息重定向到OAuth应用callback地址后,模拟OAuth应用携带code向企业认证平台请求获取访问令牌(access_token),企业认证平台在验证code有效后返回access_token,随后继续模拟OAuth应用携带access_token向企业认证平台请求获取用户信息,企业认证平台在检查token有效时,返回用户信息,也即返回目标平台侧字段和目标用户信息,使得OAuth应用可以获取到企业认证平台返回的目标平台侧字段和目标用户信息。
S205、判断目标用户信息与预设用户信息是否匹配,若是,则确定身份认证平台的对应预设协议的单点登录功能测试结果为通过。其中,若目标用户信息与预设用户信息不匹配,则确定身份认证平台的对应预设协议的单点登录功能测试结果为失败。
继续上述举例,比对通过模拟CAS应用获取到的企业认证平台返回的目标用户信息与预设用户信息是否匹配,若是,则确定企业认证平台的对应CAS协议的单点登录功能测试结果为通过。其中,若目标用户信息与预设用户信息不匹配,则确定企业认证平台的对应CAS协议的单点登录功能测试结果为失败。
S206、在得到单点登录功能测试结果后,删除自动化脚本的运行数据,其中,运行数据包括与虚拟用户、虚拟应用和虚拟应用账号相关的数据。
继续上述举例,CAS应用在得到单点登录功能测试成功结果后,删除自动化脚本的运行数据。
本发明实施例的技术方案,通过身份认证平台创建虚拟用户、注册虚拟应用、以及基于虚拟用户注册虚拟应用的虚拟应用账号。在注册虚拟应用的过程中,配置虚拟用户的预设用户信息。模拟浏览器客户端访问虚拟应用的应用地址,通过虚拟应用向身份认证平台发起认证请求。模拟浏览器客户端在平台登录页面中进行虚拟用户的授权登录操作。模拟浏览器客户端接收身份认证平台返回的登录反馈信息,并基于登录反馈信息通过虚拟应用获取身份认证平台返回的目标平台侧字段和目标用户信息。判断目标用户信息与预设用户信息是否匹配,若是,则确定身份认证平台的对应预设协议的单点登录功能测试结果为通过。在得到单点登录功能测试结果后,删除自动化脚本的运行数据,其中,运行数据包括与虚拟用户、虚拟应用和虚拟应用账号相关的数据,通过采用上述技术方案,创建虚拟用户以及注册虚拟应用,模拟浏览器和虚拟应用通过身份认证平台进行单点登录的过程,进而得到测试结果,可以适用于CAS应用和OAuth应用,无需实际搭建CAS应用和OAuth应用以及无需进行手工配置,可以解决在对身份认证平台进行测试时,单点协议认证过程中,因需要协议应用实际搭建和手工配置而导致的测试效率低下的问题,实现高效验证企业应用单点登录功能的目的。
图4为本发明实施例提供的另一种身份认证平台测试方法的流程图,本发明实施例可适用于身份认证平台测试过程中虚拟应用对应协议为OIDC的情况,该方法在上述各可选实施例基础上进行优化,参考图4,本发明实施例的方法具体包括如下步骤:
S401、通过身份认证平台创建虚拟用户、注册虚拟应用、以及基于虚拟用户注册虚拟应用的虚拟应用账号,其中,在注册虚拟应用的过程中,配置虚拟用户的预设用户信息,身份认证平台用于基于虚拟应用对应的预设协议提供单点登录功能。
示例性的,图5为本发明实施例提供的一种身份认证平台测试方法中虚拟应用对应协议为OIDC的流程示意图。如图5所示,其中,身份认证平台可以是企业认证平台,虚拟应用可以是OIDC应用,OIDC应用对应的预设协议为OIDC协议。通过企业认证平台创建虚拟用户、注册OIDC应用、以及基于虚拟用户注册OIDC应用的OIDC账号,其中,在注册OIDC应用的过程中,配置虚拟用户的预设用户信息,以及预设用户信息对应的字段映射信息,字段映射信息中包括预设用户信息对应的应用侧字段和平台侧字段的对应关系,应用侧字段对应于OIDC应用,平台侧字段对应于企业认证平台。企业认证平台用于基于OIDC应用对应的OIDC协议提供单点登录功能。
S402、模拟浏览器客户端访问虚拟应用的应用地址,通过虚拟应用向身份认证平台发起认证请求。
继续上述举例,通过模拟浏览器客户端访问OIDC应用的应用地址,然后通过OIDC应用向企业认证平台发起认证请求。
S403、模拟浏览器客户端在平台登录页面中进行虚拟用户的授权登录操作,其中,身份认证平台在接收到认证请求后,确定用户登录状态为未登录的情况下指示浏览器客户端跳转至平台登录页面。
继续上述举例,企业认证平台在接收到认证请求后,检查用户登录状态,确定为未登录的情况下指示浏览器客户端跳转至平台登录页面,随后,模拟浏览器客户端在平台登录页面中进行虚拟用户的授权登录操作。
S404、模拟浏览器客户端接收身份认证平台返回的登录反馈信息和虚拟应用的应用地址。
继续上述举例,模拟浏览器客户端接收企业认证平台返回的登录反馈信息和OIDC应用的应用callback地址。其中,登录反馈信息可以包括用户登录成功的cookies信息和code。
S405、模拟浏览器客户端访问虚拟应用的应用地址,以将登录反馈信息提供给虚拟应用。
继续上述举例,模拟浏览器客户端基于登录反馈信息重定向到OIDC应用callback地址。
S406、通过虚拟应用根据登录反馈信息从身份认证平台获取相应的身份标识令牌信息,采用对象简谱网页令牌JWT规范对身份标识令牌信息进行解析,得到签名的目标平台侧字段和目标用户信息,并采用身份认证平台对应的公钥进行验签,其中,在验签成功后,判断目标用户信息与目标应用侧字段对应的预设用户信息是否匹配。若是,则确定身份认证平台的对应预设协议的单点登录功能测试结果为通过。
其中,若目标用户信息与预设用户信息不匹配,则确定身份认证平台的对应预设协议的单点登录功能测试结果为失败。
继续上述举例,模拟OIDC应用携带code向企业认证平台请求相应的身份标识令牌信息(id_token),企业认证平台在检查code有效后返回id_token。随后继续模拟OIDC应用根据从企业认证平台获取相应的id_token,采用JWT规范对身份标识令牌信息进行解析,得到签名的目标平台侧字段和目标用户信息,并采用身份认证平台对应的公钥进行验签,在验签成功后,比对通过模拟OIDC应用获取到的企业认证平台返回的目标用户信息与预设用户信息是否匹配,若是,则确定企业认证平台的对应OIDC协议的单点登录功能测试结果为通过。其中,若目标用户信息与预设用户信息不匹配,则确定企业认证平台的对应OIDC协议的单点登录功能测试结果为失败。
S407、在得到单点登录功能测试结果后,删除自动化脚本的运行数据,其中,运行数据包括与虚拟用户、虚拟应用和虚拟应用账号相关的数据。
继续上述举例,OIDC应用在得到单点登录功能测试成功结果后,删除自动化脚本的运行数据。
本发明实施例的技术方案,通过身份认证平台创建虚拟用户、注册虚拟应用、以及基于虚拟用户注册虚拟应用的虚拟应用账号,在注册虚拟应用的过程中,配置虚拟用户的预设用户信息,模拟浏览器客户端接收身份认证平台返回的登录反馈信息和虚拟应用的应用地址,模拟浏览器客户端访问虚拟应用的应用地址,以将登录反馈信息提供给虚拟应用。通过虚拟应用根据登录反馈信息从身份认证平台获取相应的身份标识令牌信息,采用对象简谱网页令牌JWT规范对身份标识令牌信息进行解析,得到签名的目标平台侧字段和目标用户信息,并采用身份认证平台对应的公钥进行验签,其中,在验签成功后,判断目标用户信息与目标应用侧字段对应的预设用户信息是否匹配。若是,则确定身份认证平台的对应预设协议的单点登录功能测试结果为通过。在得到单点登录功能测试结果后,删除自动化脚本的运行数据。创建虚拟用户以及注册虚拟应用,模拟浏览器和虚拟应用通过身份认证平台进行单点登录的过程,进而得到测试结果,可以适用于OIDC应用,无需实际搭建OIDC应用以及无需进行手工配置,可以解决在对身份认证平台进行测试时,单点协议认证过程中,因需要协议应用实际搭建和手工配置而导致的测试效率低下的问题,实现高效验证企业应用单点登录功能的目的。
图6为本发明实施例提供的另一种身份认证平台测试方法的流程图,本发明实施例可适用于身份认证平台测试过程中虚拟应用对应协议为SAML的情况,该方法在上述各可选实施例基础上进行优化,参考图6,本发明实施例的方法具体包括如下步骤:
S601、通过身份认证平台创建虚拟用户、注册虚拟应用、以及基于虚拟用户注册虚拟应用的虚拟应用账号,其中,在注册虚拟应用的过程中,配置虚拟用户的预设用户信息,身份认证平台用于基于虚拟应用对应的预设协议提供单点登录功能。
示例性的,图7为本发明实施例提供的一种身份认证平台测试方法中虚拟应用对应协议为SAML的流程示意图。如图7所示,其中,身份认证平台可以是企业认证平台,虚拟应用可以是SAML应用,SAML应用对应的预设协议为SAML协议。通过企业认证平台创建虚拟用户、注册SAML应用、以及基于虚拟用户注册SAML应用的SAML账号,其中,在注册SAML应用的过程中,配置虚拟用户的预设用户信息,以及预设用户信息对应的字段映射信息,字段映射信息中包括预设用户信息对应的应用侧字段和平台侧字段的对应关系,应用侧字段对应于SAML应用,平台侧字段对应于企业认证平台。企业认证平台用于基于SAML应用对应的SAML协议提供单点登录功能。
S602、模拟浏览器客户端访问虚拟应用的应用地址,通过虚拟应用向身份认证平台发起认证请求。
继续上述举例,通过模拟浏览器客户端访问SAML应用的应用地址,然后通过SAML应用向企业认证平台发起认证请求。
S603、模拟浏览器客户端在平台登录页面中进行虚拟用户的授权登录操作,其中,身份认证平台在接收到认证请求后,确定用户登录状态为未登录的情况下指示浏览器客户端跳转至平台登录页面。
继续上述举例,企业认证平台在接收到认证请求后,检查用户登录状态,确定为未登录的情况下指示浏览器客户端跳转至平台登录页面,随后,模拟浏览器客户端在平台登录页面中进行虚拟用户的授权登录操作。
S604、模拟浏览器客户端接收身份认证平台返回的加密登录反馈信息。
继续上述举例,通过浏览器客户端跳转至平台登录页面,虚拟用户登录之后,模拟浏览器客户端接收企业认证平台返回的加密登录反馈信息,其中,加密登录反馈信息可包括用户登录成功的cookies信息和code。
S605、模拟浏览器客户端向身份认证平台发起CAS认证,并接收身份认证平台返回的票据信息,基于票据信息向身份认证平台发起票据验证。
继续上述举例,模拟浏览器客户端基于加密登录反馈信息重定向向企业认证平台发起CAS认证,并接收企业认证平台返回的票据信息(ticket),基于票据信息重定向向企业认证平台发起票据验证。
S606、通过虚拟应用接收身份认证平台返回的采用Base64进行编码并采用私钥签名的目标平台侧字段和目标用户信息,采用Base64进行解码,以及采用身份认证平台对应的公钥进行验签,其中,在验签成功后,判断目标用户信息与目标应用侧字段对应的预设用户信息是否匹配。若是,则确定身份认证平台的对应预设协议的单点登录功能测试结果为通过。
其中,若目标用户信息与预设用户信息不匹配,则确定身份认证平台的对应预设协议的单点登录功能测试结果为失败。
继续上述举例,通过SAML应用接收企业认证平台返回的采用Base64进行编码并采用私钥签名的目标平台侧字段和目标用户信息,采用Base64进行解码,以及采用企业认证平台对应的公钥进行验签,其中,在验签成功后,比对通过模拟SAML应用获取到的企业认证平台返回的目标用户信息与预设用户信息是否匹配,若是,则确定企业认证平台的对应SAML协议的单点登录功能测试结果为通过。其中,若目标用户信息与预设用户信息不匹配,则确定企业认证平台的对应SAML协议的单点登录功能测试结果为失败。
S607、在得到单点登录功能测试结果后,删除自动化脚本的运行数据,其中,运行数据包括与虚拟用户、虚拟应用和虚拟应用账号相关的数据。
继续上述举例,SAML应用在得到单点登录功能测试成功结果后,删除自动化脚本的运行数据。
本发明实施例的技术方案,通过身份认证平台创建虚拟用户、注册虚拟应用、以及基于虚拟用户注册虚拟应用的虚拟应用账号。在注册虚拟应用的过程中,配置虚拟用户的预设用户信息。模拟浏览器客户端接收身份认证平台返回的加密登录反馈信息。模拟浏览器客户端向身份认证平台发起CAS认证,并接收身份认证平台返回的票据信息,基于票据信息向身份认证平台发起票据验证。通过虚拟应用接收身份认证平台返回的采用Base64进行编码并采用私钥签名的目标平台侧字段和目标用户信息,采用Base64进行解码,以及采用身份认证平台对应的公钥进行验签,其中,在验签成功后,判断目标用户信息与目标应用侧字段对应的预设用户信息是否匹配。若是,则确定身份认证平台的对应预设协议的单点登录功能测试结果为通过。在得到单点登录功能测试结果后,删除自动化脚本的运行数据,其中,运行数据包括与虚拟用户、虚拟应用和虚拟应用账号相关的数据,创建虚拟用户以及注册虚拟应用,模拟浏览器和虚拟应用通过身份认证平台进行单点登录的过程,进而得到测试结果,可以适用于SAML应用,无需实际搭建SAML应用以及无需进行手工配置,可以解决在对身份认证平台进行测试时,单点协议认证过程中,因需要协议应用实际搭建和手工配置而导致的测试效率低下的问题,实现高效验证企业应用单点登录功能的目的。
图8为本发明实施例所提供的一种身份认证平台测试装置的结构示意图。本发明实施例提供了一种身份认证平台测试装置,可执行本发明实施例任一实施例所提供的一种身份认证平台测试方法,具备执行方法相应的功能模块和有益效果。该装置具体包括:
虚拟应用账号注册模块801,用于通过身份认证平台创建虚拟用户、注册虚拟应用、以及基于所述虚拟用户注册所述虚拟应用的虚拟应用账号,其中,在注册虚拟应用的过程中,配置所述虚拟用户的预设用户信息,所述身份认证平台用于基于所述虚拟应用对应的预设协议提供单点登录功能;
目标用户信息获取模块802,用于模拟浏览器客户端和所述虚拟应用调用所述身份认证平台中与所述预设协议相对应的预设认证过程接口进行所述虚拟用户的登录认证,以获取所述身份认证平台返回的目标用户信息;
单点登录功能确定模块803,用于判断所述目标用户信息与所述预设用户信息是否匹配,若是,则确定所述身份认证平台的对应所述预设协议的单点登录功能测试结果为通过。
本发明实施例所提供的身份认证平台测试装置,通过各个功能模块之间的相互配合,在身份认证平台注册虚拟应用账号,在注册虚拟应用的过程中,配置虚拟用户的预设用户信息;模拟浏览器客户端和所述虚拟应用调用所述身份认证平台中与所述预设协议相对应的预设认证过程接口进行所述虚拟用户的登录认证,获取所述身份认证平台返回的目标用户信息;判断目标用户信息与所述预设用户信息是否匹配,若是,则确定所述身份认证平台的对应所述预设协议的单点登录功能测试结果为通过,通过采用上述技术方案,创建虚拟用户以及注册虚拟应用,模拟浏览器和虚拟应用通过身份认证平台进行单点登录的过程,进而得到测试结果,无需实际搭建协议应用以及无需进行手工配置,可以解决在对身份认证平台进行测试时,单点协议认证过程中,因需要协议应用实际搭建和手工配置而导致的测试效率低下的问题,实现高效验证企业应用单点登录功能的目的。
进一步的,虚拟应用账号注册模块801,在执行配置所述虚拟用户的预设用户信息的操作时,具体用于:
配置所述虚拟用户的预设用户信息,以及所述预设用户信息对应的字段映射信息,其中,所述字段映射信息中包括所述预设用户信息对应的应用侧字段和平台侧字段的对应关系,所述应用侧字段对应于所述虚拟应用,所述平台侧字段对应于所述身份认证平台;
目标用户信息获取模块802,具体用于:
模拟浏览器客户端和所述虚拟应用调用所述身份认证平台中与所述预设协议相对应的预设认证过程接口进行所述虚拟用户的登录认证,以获取所述身份认证平台返回的目标平台侧字段和目标用户信息;
单点登录功能确定模块803,具体用于:
根据所述目标平台侧字段查询所述字段映射信息,得到目标应用侧字段;
判断所述目标用户信息与所述目标应用侧字段对应的预设用户信息是否匹配。
进一步的,目标用户信息获取模块802,具体用于:
模拟浏览器客户端访问所述虚拟应用的应用地址,通过所述虚拟应用向所述身份认证平台发起认证请求;
模拟浏览器客户端在平台登录页面中进行所述虚拟用户的授权登录操作,其中,所述身份认证平台在接收到所述认证请求后,确定用户登录状态为未登录的情况下指示浏览器客户端跳转至所述平台登录页面;
模拟浏览器客户端接收所述身份认证平台返回的登录反馈信息,并基于所述登录反馈信息通过所述虚拟应用获取所述身份认证平台返回的目标平台侧字段和目标用户信息。
进一步的,所述预设协议包括中央认证服务CAS协议、OAuth协议、开放身份标识连接OIDC协议和安全断言标记语言SAML协议中的至少一个;
目标用户信息获取模块802,具体用于:
在当前的预设协议为OIDC协议的情况下,模拟浏览器客户端接收所述身份认证平台返回的登录反馈信息和所述虚拟应用的应用地址;
模拟浏览器客户端访问所述虚拟应用的应用地址,以将所述登录反馈信息提供给所述虚拟应用;
通过所述虚拟应用根据所述登录反馈信息从所述身份认证平台获取相应的身份标识令牌信息,采用对象简谱网页令牌JWT规范对所述身份标识令牌信息进行解析,得到签名的目标平台侧字段和目标用户信息,并采用所述身份认证平台对应的公钥进行验签,其中,在验签成功后,判断所述目标用户信息与所述目标应用侧字段对应的预设用户信息是否匹配。
进一步的,目标用户信息获取模块802,还具体用于:
在当前的预设协议为SAML协议的情况下,模拟浏览器客户端接收所述身份认证平台返回的加密登录反馈信息;
模拟浏览器客户端向所述身份认证平台发起CAS认证,并接收所述身份认证平台返回的票据信息,基于所述票据信息向所述身份认证平台发起票据验证;
通过所述虚拟应用接收所述身份认证平台返回的采用Base64进行编码并采用私钥签名的目标平台侧字段和目标用户信息,采用Base64进行解码,以及采用所述身份认证平台对应的公钥进行验签,其中,在验签成功后,判断所述目标用户信息与所述目标应用侧字段对应的预设用户信息是否匹配。
进一步的,所述身份认证平台中的接口为超文本传输协议HTTP接口,所述方法通过运行与HTTP接口相匹配的自动化脚本实现。
进一步的,单点登录功能确定模块803,具体用于:
在得到单点登录功能测试结果后,删除所述自动化脚本的运行数据,其中,所述运行数据包括与所述虚拟用户、所述虚拟应用和所述虚拟应用账号相关的数据。
下面参考图9,其示出了适于用来实现本发明实施例的电子设备900的结构示意图。本发明实施例中的电子设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图9示出的电子设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图9所示,电子设备900可以包括处理装置(例如中央处理器、图形处理器等)901,其可以根据存储在只读存储器(ROM)902中的程序或者从存储装置908加载到随机访问存储器(RAM)903中的程序而执行各种适当的动作和处理。在RAM 903中,还存储有电子设备900操作所需的各种程序和数据。处理装置901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
通常,以下装置可以连接至I/O接口905:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置906;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置907;包括例如磁带、硬盘等的存储装置908;以及通信装置909。通信装置909可以允许电子设备900与其他设备进行无线或有线通信以交换数据。虽然图9示出了具有各种装置的电子设备900,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本发明的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置909从网络上被下载和安装,或者从存储装置908被安装,或者从ROM 902被安装。在该计算机程序被处理装置901执行时,执行本发明实施例的方法中限定的上述功能。本发明实施例还提供一种包含计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行一种身份认证平台测试方法,该方法包括:
通过身份认证平台创建虚拟用户、注册虚拟应用、以及基于所述虚拟用户注册所述虚拟应用的虚拟应用账号,其中,在注册虚拟应用的过程中,配置所述虚拟用户的预设用户信息,所述身份认证平台用于基于所述虚拟应用对应的预设协议提供单点登录功能;
模拟浏览器客户端和所述虚拟应用调用所述身份认证平台中与所述预设协议相对应的预设认证过程接口进行所述虚拟用户的登录认证,以获取所述身份认证平台返回的目标用户信息;
判断所述目标用户信息与所述预设用户信息是否匹配,若是,则确定所述身份认证平台的对应所述预设协议的单点登录功能测试结果为通过。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上的方法操作,还可以执行本发明任意实施例所提供的一种身份认证平台测试方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明实施例可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
值得注意的是,上述装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明实施例的保护范围。
注意,上述仅为本发明实施例的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明实施例不限于这里的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明实施例的保护范围。因此,虽然通过以上实施例对本发明实施例进行了较为详细的说明,但是本发明实施例不仅仅限于以上实施例,在不脱离本发明实施例构思的情况下,还可以包括更多其他等效实施例,而本发明实施例的范围由所附的权利要求范围决定。

Claims (10)

1.一种身份认证平台测试方法,其特征在于,包括:
通过身份认证平台创建虚拟用户、注册虚拟应用、以及基于所述虚拟用户注册所述虚拟应用的虚拟应用账号,其中,在注册虚拟应用的过程中,配置所述虚拟用户的预设用户信息,所述身份认证平台用于基于所述虚拟应用对应的预设协议提供单点登录功能;
模拟浏览器客户端和所述虚拟应用调用所述身份认证平台中与所述预设协议相对应的预设认证过程接口进行所述虚拟用户的登录认证,以获取所述身份认证平台返回的目标用户信息;
判断所述目标用户信息与所述预设用户信息是否匹配,若是,则确定所述身份认证平台的对应所述预设协议的单点登录功能测试结果为通过;
其中,模拟浏览器客户端和所述虚拟应用调用所述身份认证平台中与所述预设协议相对应的预设认证过程接口进行所述虚拟用户的登录认证,以获取所述身份认证平台返回的目标用户信息,包括:
模拟浏览器客户端访问所述虚拟应用的应用地址,通过所述虚拟应用向所述身份认证平台发起认证请求;模拟浏览器客户端在平台登录页面中进行所述虚拟用户的授权登录操作,其中,所述身份认证平台在接收到所述认证请求后,确定用户登录状态为未登录的情况下指示浏览器客户端跳转至所述平台登录页面;模拟浏览器客户端接收所述身份认证平台返回的登录反馈信息,并基于所述登录反馈信息通过所述虚拟应用获取所述身份认证平台返回的目标用户信息。
2.根据权利要求1所述的方法,其特征在于,所述配置所述虚拟用户的预设用户信息,包括:
配置所述虚拟用户的预设用户信息,以及所述预设用户信息对应的字段映射信息,其中,所述字段映射信息中包括所述预设用户信息对应的应用侧字段和平台侧字段的对应关系,所述应用侧字段对应于所述虚拟应用,所述平台侧字段对应于所述身份认证平台;
其中,所述模拟浏览器客户端和所述虚拟应用调用所述身份认证平台中与所述预设协议相对应的预设认证过程接口进行所述虚拟用户的登录认证,以获取所述身份认证平台返回的目标用户信息,包括:
模拟浏览器客户端和所述虚拟应用调用所述身份认证平台中与所述预设协议相对应的预设认证过程接口进行所述虚拟用户的登录认证,以获取所述身份认证平台返回的目标平台侧字段和目标用户信息;
其中,所述判断所述目标用户信息与所述预设用户信息是否匹配,包括:
根据所述目标平台侧字段查询所述字段映射信息,得到目标应用侧字段;
判断所述目标用户信息与所述目标应用侧字段对应的预设用户信息是否匹配。
3.根据权利要求2所述的方法,其特征在于,所述模拟浏览器客户端和所述虚拟应用调用所述身份认证平台中与所述预设协议相对应的预设认证过程接口进行所述虚拟用户的登录认证,以获取所述身份认证平台返回的目标平台侧字段和目标用户信息,包括:
模拟浏览器客户端访问所述虚拟应用的应用地址,通过所述虚拟应用向所述身份认证平台发起认证请求;
模拟浏览器客户端在平台登录页面中进行所述虚拟用户的授权登录操作,其中,所述身份认证平台在接收到所述认证请求后,确定用户登录状态为未登录的情况下指示浏览器客户端跳转至所述平台登录页面;
模拟浏览器客户端接收所述身份认证平台返回的登录反馈信息,并基于所述登录反馈信息通过所述虚拟应用获取所述身份认证平台返回的目标平台侧字段和目标用户信息。
4.根据权利要求3所述的方法,其特征在于,所述预设协议包括中央认证服务CAS协议、OAuth协议、开放身份标识连接OIDC协议和安全断言标记语言SAML协议中的至少一个;
在当前的预设协议为OIDC协议的情况下,所述模拟浏览器客户端接收所述身份认证平台返回的登录反馈信息,并基于所述登录反馈信息通过所述虚拟应用获取所述身份认证平台返回的目标平台侧字段和目标用户信息,包括:
模拟浏览器客户端接收所述身份认证平台返回的登录反馈信息和所述虚拟应用的应用地址;
模拟浏览器客户端访问所述虚拟应用的应用地址,以将所述登录反馈信息提供给所述虚拟应用;
通过所述虚拟应用根据所述登录反馈信息从所述身份认证平台获取相应的身份标识令牌信息,采用对象简谱网页令牌JWT规范对所述身份标识令牌信息进行解析,得到签名的目标平台侧字段和目标用户信息,并采用所述身份认证平台对应的公钥进行验签,其中,在验签成功后,判断所述目标用户信息与所述目标应用侧字段对应的预设用户信息是否匹配。
5.根据权利要求4所述的方法,其特征在于,在当前的预设协议为SAML协议的情况下,所述模拟浏览器客户端接收所述身份认证平台返回的登录反馈信息,并基于所述登录反馈信息通过所述虚拟应用获取所述身份认证平台返回的目标平台侧字段和目标用户信息,包括:
模拟浏览器客户端接收所述身份认证平台返回的加密登录反馈信息;
模拟浏览器客户端向所述身份认证平台发起CAS认证,并接收所述身份认证平台返回的票据信息,基于所述票据信息向所述身份认证平台发起票据验证;
通过所述虚拟应用接收所述身份认证平台返回的采用Base64进行编码并采用私钥签名的目标平台侧字段和目标用户信息,采用Base64进行解码,以及采用所述身份认证平台对应的公钥进行验签,其中,在验签成功后,判断所述目标用户信息与所述目标应用侧字段对应的预设用户信息是否匹配。
6.根据权利要求1-5任一所述的方法,其特征在于,所述身份认证平台中的接口为超文本传输协议HTTP接口,所述方法通过运行与HTTP接口相匹配的自动化脚本实现。
7.根据权利要求6所述的方法,其特征在于,还包括:
在得到单点登录功能测试结果后,删除所述自动化脚本的运行数据,其中,所述运行数据包括与所述虚拟用户、所述虚拟应用和所述虚拟应用账号相关的数据。
8.一种身份认证平台测试装置,其特征在于,包括:
虚拟应用账号注册模块,用于通过身份认证平台创建虚拟用户、注册虚拟应用、以及基于所述虚拟用户注册所述虚拟应用的虚拟应用账号,其中,在注册虚拟应用的过程中,配置所述虚拟用户的预设用户信息,所述身份认证平台用于基于所述虚拟应用对应的预设协议提供单点登录功能;
目标用户信息获取模块,用于模拟浏览器客户端和所述虚拟应用调用所述身份认证平台中与所述预设协议相对应的预设认证过程接口进行所述虚拟用户的登录认证,以获取所述身份认证平台返回的目标用户信息;
单点登录功能确定模块,用于判断所述目标用户信息与所述预设用户信息是否匹配,若是,则确定所述身份认证平台的对应所述预设协议的单点登录功能测试结果为通过;
其中,模拟浏览器客户端和所述虚拟应用调用所述身份认证平台中与所述预设协议相对应的预设认证过程接口进行所述虚拟用户的登录认证,以获取所述身份认证平台返回的目标用户信息,包括:
模拟浏览器客户端访问所述虚拟应用的应用地址,通过所述虚拟应用向所述身份认证平台发起认证请求;模拟浏览器客户端在平台登录页面中进行所述虚拟用户的授权登录操作,其中,所述身份认证平台在接收到所述认证请求后,确定用户登录状态为未登录的情况下指示浏览器客户端跳转至所述平台登录页面;模拟浏览器客户端接收所述身份认证平台返回的登录反馈信息,并基于所述登录反馈信息通过所述虚拟应用获取所述身份认证平台返回的目标用户信息。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7任一项所述的方法。
CN202111442126.0A 2021-11-30 2021-11-30 身份认证平台测试方法、装置、设备及存储介质 Active CN113938886B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111442126.0A CN113938886B (zh) 2021-11-30 2021-11-30 身份认证平台测试方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111442126.0A CN113938886B (zh) 2021-11-30 2021-11-30 身份认证平台测试方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN113938886A CN113938886A (zh) 2022-01-14
CN113938886B true CN113938886B (zh) 2024-04-05

Family

ID=79288730

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111442126.0A Active CN113938886B (zh) 2021-11-30 2021-11-30 身份认证平台测试方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN113938886B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114422258A (zh) * 2022-01-25 2022-04-29 百安居信息技术(上海)有限公司 一种基于多认证协议的单点登录方法、介质及电子设备
CN114157565B (zh) * 2022-02-08 2022-04-22 南京芒可可信息科技有限公司 一种支持私有化部署的系统及方法
CN115174109A (zh) * 2022-06-30 2022-10-11 中国联合网络通信集团有限公司 企业员工身份认证方法、装置、设备及存储介质
CN116346504A (zh) * 2023-05-30 2023-06-27 北京安博通科技股份有限公司 模拟cas认证登录和压力测试方法、装置及电子设备

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101572608A (zh) * 2009-06-17 2009-11-04 杭州华三通信技术有限公司 一次登录参数的获取方法及装置
CN102377733A (zh) * 2010-08-12 2012-03-14 盛科网络(苏州)有限公司 应用层协议的自动化测试系统及其自动化测试方法
CN105243017A (zh) * 2015-10-20 2016-01-13 上海斐讯数据通信技术有限公司 基于ssh协议进行登陆认证的测试方法及系统
CN106407121A (zh) * 2016-10-08 2017-02-15 腾讯科技(深圳)有限公司 一种跨平台数据互通一致性测试方法及应用测试服务器
KR20180046748A (ko) * 2016-10-28 2018-05-09 주식회사 케이티 가상 테스트 환경을 제공하는 테스트 장치 및 방법
CN108494627A (zh) * 2018-03-23 2018-09-04 四川斐讯信息技术有限公司 基于云AC的portal压力测试系统及方法
CN108563584A (zh) * 2018-05-09 2018-09-21 平安普惠企业管理有限公司 测试数据生成方法、装置、计算机设备及存储介质
CN110442524A (zh) * 2019-08-09 2019-11-12 中国建设银行股份有限公司 一种针对带有认证授权的web服务接口测试方法和装置
CN112417403A (zh) * 2020-11-29 2021-02-26 中国科学院电子学研究所苏州研究院 一种基于GitLab API的系统自动化认证和授权处理方法
CN112699034A (zh) * 2020-12-30 2021-04-23 百果园技术(新加坡)有限公司 虚拟登录用户构建方法、装置、设备及存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150033315A1 (en) * 2013-07-23 2015-01-29 Salesforce.Com, Inc. Authentication and diagnostic functions for a database system
US9910765B2 (en) * 2014-05-22 2018-03-06 Citrix Systems, Inc. Providing testing environments for software applications using virtualization and a native hardware layer
US10613958B2 (en) * 2018-03-12 2020-04-07 Spirent Communications, Inc. Secure method for managing a virtual test platform

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101572608A (zh) * 2009-06-17 2009-11-04 杭州华三通信技术有限公司 一次登录参数的获取方法及装置
CN102377733A (zh) * 2010-08-12 2012-03-14 盛科网络(苏州)有限公司 应用层协议的自动化测试系统及其自动化测试方法
CN105243017A (zh) * 2015-10-20 2016-01-13 上海斐讯数据通信技术有限公司 基于ssh协议进行登陆认证的测试方法及系统
CN106407121A (zh) * 2016-10-08 2017-02-15 腾讯科技(深圳)有限公司 一种跨平台数据互通一致性测试方法及应用测试服务器
KR20180046748A (ko) * 2016-10-28 2018-05-09 주식회사 케이티 가상 테스트 환경을 제공하는 테스트 장치 및 방법
CN108494627A (zh) * 2018-03-23 2018-09-04 四川斐讯信息技术有限公司 基于云AC的portal压力测试系统及方法
CN108563584A (zh) * 2018-05-09 2018-09-21 平安普惠企业管理有限公司 测试数据生成方法、装置、计算机设备及存储介质
CN110442524A (zh) * 2019-08-09 2019-11-12 中国建设银行股份有限公司 一种针对带有认证授权的web服务接口测试方法和装置
CN112417403A (zh) * 2020-11-29 2021-02-26 中国科学院电子学研究所苏州研究院 一种基于GitLab API的系统自动化认证和授权处理方法
CN112699034A (zh) * 2020-12-30 2021-04-23 百果园技术(新加坡)有限公司 虚拟登录用户构建方法、装置、设备及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Research on User Identity Authentication Technology for Virtual Laboratory System;Xieliang Chen;2015 Sixth International Conference on Intelligent Systems Design and Engineering Applications;20160502;全文 *
基于网络功能虚拟化的网络测试实验平台构建;金可仲;刘军;陈胜凯;;实验技术与管理(第11期);全文 *

Also Published As

Publication number Publication date
CN113938886A (zh) 2022-01-14

Similar Documents

Publication Publication Date Title
CN113938886B (zh) 身份认证平台测试方法、装置、设备及存储介质
CN110351269B (zh) 通过第三方服务器登录开放平台的方法
CN104113551B (zh) 一种平台授权方法、平台服务端及应用客户端和系统
US20130283362A1 (en) Authenticating user through web extension using token based authentication scheme
WO2016173199A1 (zh) 一种移动应用单点登录方法及装置
CN115021991A (zh) 未经管理的移动设备的单点登录
US9934310B2 (en) Determining repeat website users via browser uniqueness tracking
CN105188060A (zh) 一种面向移动终端的单点登录认证方法及系统
CN110808840B (zh) 业务处理方法及装置、电子设备、存储介质
KR20090089291A (ko) 보안 웹사이트를 통해 웹사이트에 안전하게 서명하기 위한 방법 및 장치
CN110365684B (zh) 应用集群的访问控制方法、装置和电子设备
CN110839087B (zh) 接口调用方法及装置、电子设备和计算机可读存储介质
CN112491776B (zh) 安全认证方法及相关设备
CN112583834B (zh) 一种通过网关单点登录的方法和装置
KR20170101905A (ko) 피싱 웹 페이지 검출 방법 및 시스템
CN112491778A (zh) 认证方法、装置、系统及介质
CN114745156A (zh) 分布式单点登录实现方法、装置、电子设备及存储介质
CN110177096A (zh) 客户端认证方法、装置、介质和计算设备
US11734408B2 (en) Remapping of uniform resource locators for accessing network applications
EP3329650B1 (en) Providing multi-factor authentication credentials via device notifications
CN112543194B (zh) 移动终端登录方法、装置、计算机设备和存储介质
CN101563885A (zh) 经由安全网站安全地签入至网站的方法和装置
CN110427745B (zh) 验证码获取方法、装置、电子设备和计算机可读介质
CN114143053A (zh) 一种第三方服务登录方法、装置、终端设备及存储介质
CN104426856A (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
GR01 Patent grant
GR01 Patent grant