掌桥专利:专业的专利平台
掌桥专利
首页

基于解耦状态下免密登录的接口数据获取方法及系统

文献发布时间:2024-04-18 19:59:31


基于解耦状态下免密登录的接口数据获取方法及系统

技术领域

本发明涉及数据获取技术领域,具体而言,涉及基于解耦状态下免密登录的接口数据获取方法及系统。

背景技术

关于接口数据的获取,通常涉及到发送HTTP请求并从服务器获取响应数据。确定接口的URL,发送HTTP请求,这个数据通常是JSON格式的,处理错误,使用数据,成功获取并解析了接口数据,可以将其用于的应用程序或网站中。

为了应用服务器安全可靠性,往往服务器只会放行公共接口数据信息,不会将大多数接口都进行放行。如果在不放行的情况下,由于客户端需要服务端接口数据,但客户端不存在登录,故而需要在未登录时访问用户接口数据信息,避免出现认证失败情况。

目前实现用户免登录的方法,需要实现的步骤有:获取用户登录应用程序时输入的账号信息,根据应用程序的登录提示执行登录操作;获取执行所述登录操作后URL地址;将所述URL地址存储至Cookie中;若外部插件需要进行用户登录,从所述Cookie中获取所述URL地址并打开所述URL地址以实现用户免登录。

但是当产品客户端下载安装后,由于用户未登录,且设计上不用去登录,为了应用安全性在不放行接口时去访问用户接口时会出现认证失败的情况。

发明内容

本发明的目的是提供基于解耦状态下免密登录的接口数据获取方法及系统,来解决现有技术中的上述问题。

本发明的实施例通过以下技术方案实现:

第一方面,本发明提供了一种基于解耦状态下免密登录的接口数据获取方法,包括;

通过用户管理系统建立免密登录菜单权限,通过免密登录菜单权限对指定用户进行授权,授权后的指定用户可在客户端调用接口;

通过浏览器端为客户端绑定指定用户信息,判断指定用户是否登录,若已登录,则响应接口信息,将数据响应至客户端;

若指定用户未登录,则判断是否具有免密登录权限,若不具有免密登录权限,则反馈无认证信息;

若具有免密登录权限,则通过XSS攻击或者重放攻击拦截器进行破解身份认证,通过用户管理系统根据当前配置的密码生成规则,自动补入该用户密码模拟登录,并生成相关用户缓存对象信息;

若登录成功则响应接口信息,将数据响应至客户端,若登录失败则反馈异常信息。

在本发明的一实施例中,所述建立免密登录菜单权限,通过免密登录菜单权限对指定用户进行授权包括;

获取所有的用户信息,对需要进行授权的用户进行标记免密登录标识,形成第一权限目录,所述第一权限目录记录所述指定用户;

根据第一权限目录上的用户名单分别对指定用户进行授权,并在授权时同时写入具有授权信息的加密命令;

再次获取所有用户信息,将带有加密命令的用户信息进行提取,形成第二权限目录,并将第二权限目录内的用户信息与第一权限目录的用户信息进行核对,若完全一致,则完成授权过程,若不一致,则继续报错反馈。

在本发明的一实施例中,所述通过浏览器端为客户端绑定指定用户信息包括;

客户端安装完成后,获取指定用户信息,并核对指定用户的加密命令;

加密命令核对无误后,通过浏览器端为客户端绑定指定用户信息。

在本发明的一实施例中,所述判断是否具有免密登录权限包括;

获取指定用户信息的加密命令,并对加密命令进行解密,得到授权信息;

核对授权信息,授权信息正确,则判断为具有免密登录权限,否则不具有免密登录权限。

在本发明的一实施例中,所述写入具有授权信息的加密命令包括;

创建公钥和私钥,将公钥发送至客户端,客户端创建第一密钥和第一授权数据,并对第一授权数据进行哈希值计算得到第一核对值,私钥发送至获取指定用户信息的加密命令的数据获取端;

使用密钥并通过加密算法加密数据得到密文,使用公钥加密第一密钥得到第二密钥,将密文和第二密钥发送至数据获取端。

在本发明的一实施例中,所述对加密命令进行解密包括;

所述数据获取端在请求获取授权信息时,使用私钥通过解密算法解密第二密钥得到第一密钥;

使用第一密钥通过解密算法进行解密得到第二授权数据,将第二明文通过哈希值计算得到第二核对值;

若第一核对与第二核对值一致则输出第一授权数据,则不一致则拒绝请求。

在本发明的一实施例中,所述创建公钥和私钥包括;

pk=P(seed)

式中,pk表示公钥、P表示生成算法、seed表示随机数种子;

mk=P2M(pk)

式中mk表示私钥、P2M表示公钥转私钥的算法、pk表示公钥。

第二方面,本发明还提供了基于解耦状态下免密登录的接口数据获取系统,包括;

权限设置模块,被配置为通过用户管理系统建立免密登录菜单权限,通过免密登录菜单权限对指定用户进行授权,授权后的指定用户可在客户端调用接口;

信息绑定模块,被配置为通过浏览器端为客户端绑定指定用户信息,判断指定用户是否登录,若已登录,则响应接口信息,将数据响应至客户端;

登录判断模块,被配置为若指定用户未登录,则判断是否具有免密登录权限,若不具有免密登录权限,则反馈无认证信息;

破解模块,被配置为若具有免密登录权限,则通过XSS攻击或者重放攻击拦截器进行破解身份认证,通过用户管理系统根据当前配置的密码生成规则,自动补入该用户密码模拟登录,并生成相关用户缓存对象信息;

响应模块,被配置为若登录成功则响应接口信息,将数据响应至客户端,若登录失败则反馈异常信息;

主控模块,所述主控模块与所述权限设置模块、信息绑定模块、登录判断模块、破解模块和响应模块连接,用于执行上述的基于解耦状态下免密登录的接口数据获取方法。

第三方面,还提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的基于解耦状态下免密登录的接口数据获取方法。

本发明实施例的技术方案至少具有如下优点和有益效果:

本发明所提供的上述方法,主要包括安装客户端后,管理员绑定客户端用户,为其客户端用户绑定免密登录菜单权限,在客户端免密登录时携带免密登录标识,进行免密登录,对于进行免密登录,直接通过免密登录成功,通过跨站攻击、XSS攻击拦截器、过滤器校验,登录成功后,执行该接口请求,响应数据至客户端。实行该方法,避免了用户免密登录时跳转到登录界面进行免密登录,对现有业务可解耦,热插拔的形式实现免密登录获取接口数据的方法。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本发明的流程示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。

本申请中所出现的模块的划分,是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式,例如多个模块可以结合成或集成在另一个系统中,或一些特征可以忽略,或不执行。

独立说明的模块或子模块可以是物理上分离的,也可以不是物理上的分离:可以是软件实现的,也可以是硬件实现的,且可以部分模块或子模块通过软件实现,由处理器调用该软件实现这部分模块或子模块的功能,且其它部分模板或子模块通过硬件实现,例如通过硬件电路实现。此外,可以根据实际的需要选择其中的部分或全部模块来实现本申请方案的目的。

请参照图1,本发明提供了一种基于解耦状态下免密登录的接口数据获取方法,包括;

S101:通过用户管理系统建立免密登录菜单权限,通过免密登录菜单权限对指定用户进行授权,授权后的指定用户可在客户端调用接口;

在本实施例中的用户管理系统是一种用于管理和维护用户信息的软件系统。它通常包括用户注册、登录、权限管理、角色管理、密码重置、用户信息修改等功能。用户管理系统可以帮助组织有效地管理用户信息,确保安全性和合规性。它也可以帮助用户更方便地访问和管理他们的个人信息。用户管理系统通常被用于企业内部系统、网站、应用程序等各种场景中。

其中,是指与服务器相对应,为客户提供本地服务的程序。需要与服务端互相配合运行。此处定义为客户端,泛指需要在没有登录界面上根据管理员分配的账号去免密登录访问接口信息。

S102:通过浏览器端为客户端绑定指定用户信息,判断指定用户是否登录,若已登录,则响应接口信息,将数据响应至客户端;

S103:若指定用户未登录,则判断是否具有免密登录权限,若不具有免密登录权限,则反馈无认证信息;

S104:若具有免密登录权限,则通过XSS攻击或者重放攻击拦截器进行破解身份认证,通过用户管理系统根据当前配置的密码生成规则,自动补入该用户密码模拟登录,并生成相关用户缓存对象信息;

其中,XSS攻击:指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序。这些恶意网页程序通常是JavaScript,但实际上也可以包括Java、VBScript、ActiveX、Flash或者甚至是普通的HTML。攻击成功后,攻击者可能得到包括但不限于更高的权限(如执行一些操作)、私密网页内容、会话和cookie等各种内容。

重放攻击:是指攻击者发送一个目的主机已接收过的包,来达到欺骗系统的目的,主要用于身份认证过程,破坏认证的正确性。重放攻击可以由发起者,也可以由拦截并重发该数据的敌方进行。攻击者利用网络监听或者其他方式盗取认证凭据,之后再把它重新发给认证服务器。重放攻击在任何网络通信过程中都可能发生。很多时候网络上传输的数据是加密过的,此时窃听者无法得到数据的准确意义。

S105:若登录成功则响应接口信息,将数据响应至客户端,若登录失败则反馈异常信息。

本发明所提供的上述方法,主要包括安装客户端后,管理员绑定客户端用户,为其客户端用户绑定免密登录菜单权限,在客户端免密登录时携带免密登录标识,进行免密登录,对于进行免密登录,直接通过免密登录成功,通过跨站攻击、XSS攻击拦截器、过滤器校验,登录成功后,执行该接口请求,响应数据至客户端。实行该方法,避免了用户免密登录时跳转到登录界面进行免密登录,对现有业务可解耦,热插拔的形式实现免密登录获取接口数据的方法。

在本发明的一实施例中,建立免密登录菜单权限,通过免密登录菜单权限对指定用户进行授权包括;

获取所有的用户信息,对需要进行授权的用户进行标记,形成第一权限目录;根据权限目录上的用户名单分别对该部分指定用户进行授权,并在授权时同时写入具有授权信息的加密命令;再次获取所有用户信息,将带有加密命令的用户信息进行提取,形成第二权限目录,并将第二权限目录内的用户信息与第一权限目录的用户信息进行核对,若完全一致,则完成授权过程,若不一致,则继续报错反馈。

具体的,为了防止在对用户授权的时候进行饿了错误授权,所以需要设置第一权限目录和第二权限目录,通过第一权限目录和第二权限目录的核对,来确认授权的对象是正确的,其中通过加密命令来进行识别区分,该加密命令可以是一串字符,也可以是其他的加密数据,本发明不做限制,在识别的时候,识别到有加密命令,则说明该用户为指定用户,将此批用户信息提取出来,进行后续的与第一权限目录进行比对。

在本发明的一实施例中,通过浏览器端为客户端绑定指定用户信息包括;

客户端安装完成后,获取指定用户信息,并核对指定用户的加密命令;加密命令核对无误后,通过浏览器端为客户端绑定指定用户信息。

由于是免密登录获取接口数据,所以需要再次的对指定用户的加密命令进行核对,避免出现不明的指定用户。

在本发明的一实施例中,判断是否具有免密登录权限包括;

获取指定用户信息的加密命令,并对加密命令进行解密,得到授权信息;核对授权信息,授权信息正确,则判断为具有免密登录权限,否则不具有免密登录权限。

具体的,关于写入具有授权信息的加密命令包括;

创建公钥和私钥,将公钥发送至客户端,客户端创建第一密钥和第一授权数据,并对第一授权数据进行哈希值计算得到第一核对值,私钥发送至获取指定用户信息的加密命令的数据获取端;使用密钥并通过加密算法加密数据得到密文,使用公钥加密第一密钥得到第二密钥,将密文和第二密钥发送至数据获取端。

在本发明的一实施例中,对加密命令进行解密包括;

数据获取端在请求获取授权信息时,使用私钥通过解密算法解密第二密钥得到第一密钥;使用第一密钥通过解密算法进行解密得到第二授权数据,将第二明文通过哈希值计算得到第二核对值;若第一核对与第二核对值一致则输出第一授权数据,则不一致则拒绝请求。

本发明提供一个具体的实例来对本实施例的上述方法进行解释说明:

通过pk=P(seed),式中,pk表示公钥、P表示生成算法、seed表示随机数种子;获得公钥,通过mk=P2M(pk),式中mk表示私钥、P2M表示公钥转私钥的算法、pk表示公钥,获得私钥。

将公钥发送至客户端,客户端由于绑定了指定用户的信息,客户端即保存了指定用户的数据,客户端创建第一密钥和第一授权数据,其中第一授权数据可以指定用户的授权数据,对第一授权数据进行哈希值计算得到第一核对值,并保存,使用第一密钥优选采用I-SM4加密算法加密数据得到密文。再使用SM2公钥加密第一密钥得到第二密钥,并将密文和第二密钥发送至数据获取端,本实施例的数据获取端则是用于发送请求的一个端口,请求获取指定用户的授权数据或者解密的模块。

数据获取端使用私钥优选通过SM2解密算法解密第二密钥得到第一密钥,使用第一密钥通过I-SM4解密算法进行解密得到第二授权数据,对第二授权数据进行哈希值计算得到第二核对值,若第一核对与第二核对值一致则输出第一授权数据,则不一致则拒绝请求。

第二方面,本发明还提供了基于解耦状态下免密登录的接口数据获取系统,包括;

权限设置模块,被配置为通过用户管理系统建立免密登录菜单权限,通过免密登录菜单权限对指定用户进行授权,授权后的指定用户可在客户端调用接口;

信息绑定模块,被配置为通过浏览器端为客户端绑定指定用户信息,判断指定用户是否登录,若已登录,则响应接口信息,将数据响应至客户端;

登录判断模块,被配置为若指定用户未登录,则判断是否具有免密登录权限,若不具有免密登录权限,则反馈无认证信息;

破解模块,被配置为若具有免密登录权限,则通过XSS攻击或者重放攻击拦截器进行破解身份认证,通过用户管理系统根据当前配置的密码生成规则,自动补入该用户密码模拟登录,并生成相关用户缓存对象信息;

响应模块,被配置为若登录成功则响应接口信息,将数据响应至客户端,若登录失败则反馈异常信息;

主控模块,主控模块与权限设置模块、信息绑定模块、登录判断模块、破解模块和响应模块连接,用于执行上述的基于解耦状态下免密登录的接口数据获取方法。

在本发明的实际使用中,通过一个具体的示例进行详细的说明:

在用户管理系统服务中定义一个免密登录菜单权限,默认只有管理员具有,管理员可针对用户进行授权,让具有该权限的用户可在客户端调用接口。在操作客户端前,在浏览器端为客户端绑定用户信息成功。

操作客户端,在调用接口时,先判断该用户是否登录,如果已登录,则执行下一步,响应该接口信息,将数据响应至客户端。

反之通过调用获取接口判断是否具有免密登录权限,不管是在web调用还是在服务端调用时,在请求头上传递PRD-FREE-AUTO参数,参数值为1(不传值默认为0)请求响应;

请求成功后,获取请求参数是否为1,如果为0,则返回无认证信息;如果为1,判断该用户是否具有免密登录权限,如果无免密登录权限,则返回无认证信息;如果有免密登录权限,则通过XSS攻击、重放攻击等拦截器,通过用户管理系统根据当前配置的密码生成规则,自动补入该用户密码模拟登录成功,生成相关用户缓存对象信息。当前用户登录成功后,则执行下一步,响应该接口信息,执行下一步,将数据响应至客户端。

需要注意的是,当前系统可以登录方式,此处以用户名密码为例,对于扫码、邮箱、电话号码等和用户名密码原理一样,对于验证码,免密登录不检验。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

相关技术
  • 一种设备床身化学螺栓的安装装置及安装方法
  • 一种曲线筒体类结构的激光焊接夹持定位装置及方法
  • 一种燃烧筒、干衣设备加热装置及干衣设备
  • 一种自动化编译安装方法、装置、设备及存储介质
  • 一种高塔筒类设备高效安装装置及方法
  • 一种新型高效筒类设备出料罩清洗装置及筒类设备出料罩
技术分类

06120116522722