CN114785590A - 登录方法、装置、设备、存储介质 - Google Patents
登录方法、装置、设备、存储介质 Download PDFInfo
- Publication number
- CN114785590A CN114785590A CN202210423526.5A CN202210423526A CN114785590A CN 114785590 A CN114785590 A CN 114785590A CN 202210423526 A CN202210423526 A CN 202210423526A CN 114785590 A CN114785590 A CN 114785590A
- Authority
- CN
- China
- Prior art keywords
- login
- service
- target user
- authentication
- application service
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 84
- 230000004044 response Effects 0.000 claims abstract description 12
- 230000006978 adaptation Effects 0.000 claims description 94
- 238000013515 script Methods 0.000 claims description 76
- 238000004590 computer program Methods 0.000 claims description 23
- 230000003044 adaptive effect Effects 0.000 claims description 20
- 238000012546 transfer Methods 0.000 claims description 11
- 238000012545 processing Methods 0.000 claims description 9
- 230000008569 process Effects 0.000 description 19
- 230000003993 interaction Effects 0.000 description 16
- 239000003795 chemical substances by application Substances 0.000 description 13
- 238000004891 communication Methods 0.000 description 13
- 238000011161 development Methods 0.000 description 12
- 238000013475 authorization Methods 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 235000014510 cooky Nutrition 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011900 installation process Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012795 verification 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/0815—Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
-
- 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/0884—Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请实施例公开了一种登录方法、装置、设备、存储介质,其中,所述方法包括:响应于接收到统一认证服务发送的目标用户的第一登录请求,确定待登录的应用服务,并基于与所述统一认证服务匹配的第一认证协议,获取所述目标用户的第一登录凭证信息;基于所述第一登录凭证信息,确定所述目标用户的至少一个目标凭证字段;基于所述至少一个目标凭证字段以及与所述应用服务匹配的第二认证协议,确定所述目标用户的第二登录凭证信息;基于所述第二登录凭证信息,向所述应用服务发送第二登录请求,以使所述应用服务基于所述第二登录凭证信息进行登录认证。
Description
技术领域
本申请涉及但不限于信息技术领域,尤其涉及一种登录方法、装置、设备、存储介质。
背景技术
随着信息技术的发展,统一认证服务(如单点登录(Single Sign On,SSO)***)的应用越来越广泛。统一认证服务是一种标准协议的授权认证中心,用户在使用过程中只需要在统一认证服务中登录认证一次,在访问其他接入了统一认证服务的应用服务时都可以自动完成登录认证。每个独立应用服务中的用户管理体系可以通过接入统一认证服务实现打通。对用户来说,可以简化用户的操作,降低用户使用应用服务的门槛;对企业来说,通过统一认证服务可以强化相关应用服务的管理、运营能力。
对于统一认证服务的应用,不论是企业自行研发还是采用其他厂商提供的方案,最大的难题是众多应用服务接入适配的工作量巨大。相关技术的应用服务接入统一认证服务的适配方案中,或者需要对原有应用服务进行二次开发,导致成本高,并且有侵入式影响、风险大;或者需要客户在浏览器安装插件,导致用户使用门槛增加,且用户对插件的使用有感知,影响用户使用体验,此外还可能会涉及不同浏览器及操作***等的兼容性问题。
发明内容
有鉴于此,本申请实施例提供一种登录方法、装置、设备、存储介质。
本申请实施例的技术方案是这样实现的:
一方面,本申请实施例提供一种登录方法,所述方法应用于适配代理服务,包括:
响应于接收到统一认证服务发送的目标用户的第一登录请求,确定待登录的应用服务,并基于与所述统一认证服务匹配的第一认证协议,获取所述目标用户的第一登录凭证信息;
基于所述第一登录凭证信息,确定所述目标用户的至少一个目标凭证字段;
基于所述至少一个目标凭证字段以及与所述应用服务匹配的第二认证协议,确定所述目标用户的第二登录凭证信息;
基于所述第二登录凭证信息,向所述应用服务发送第二登录请求,以使所述应用服务基于所述第二登录凭证信息进行登录认证。
另一方面,本申请实施例提供一种登录装置,应用于适配代理服务,包括:
第一确定模块,用于响应于接收到统一认证服务发送的目标用户的第一登录请求,确定待登录的应用服务,并基于与所述统一认证服务匹配的第一认证协议,获取所述目标用户的第一登录凭证信息;
第二确定模块,用于基于所述第一登录凭证信息,确定所述目标用户的至少一个目标凭证字段;
第三确定模块,用于基于所述至少一个目标凭证字段以及与所述应用服务匹配的第二认证协议,确定所述目标用户的第二登录凭证信息;
发送模块,用于基于所述第二登录凭证信息,向所述应用服务发送第二登录请求,以使所述应用服务基于所述第二登录凭证信息进行登录认证。
再一方面,本申请实施例提供一种计算机设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法中的部分或全部步骤。
又一方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法中的部分或全部步骤。
又一方面,本申请实施例提供一种计算机程序,包括计算机可读代码,当所述计算机可读代码在计算机设备中运行时,所述计算机设备中的处理器执行用于实现上述方法中的部分或全部步骤。
又一方面,本申请实施例提供一种计算机程序产品,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序被计算机读取并执行时,实现上述方法中的部分或全部步骤。
本申请实施例中,响应于接收到统一认证服务发送的目标用户的第一登录请求,确定待登录的应用服务,并基于与统一认证服务匹配的第一认证协议,获取目标用户的第一登录凭证信息;基于第一登录凭证信息,确定目标用户的至少一个目标凭证字段;基于该至少一个目标凭证字段以及与应用服务匹配的第二认证协议,确定目标用户的第二登录凭证信息;基于第二登录凭证信息,向应用服务发送第二登录请求,以使应用服务基于第二登录凭证信息进行登录认证。这样,通过目标用户的至少一个目标凭证字段以及与应用服务匹配的第二认证协议,可以将基于与统一认证服务匹配的第一认证协议获取的第一登录凭证信息,转换为用于向应用服务发送第二登录请求的第二登录凭证信息,从而可以适配不同的第一认证协议和第二认证协议,进而可以适配不同的统一认证服务和应用服务,以支持通过统一认证服务对应用服务的单点登录认证。如此,可以减少对已有应用服务的侵入和二次开发,从而可以减少开发和运维成本,并且在该登录认证过程中应用服务与统一认证服务之间的适配对用户是无感知的,可以提高用户的使用体验,并能应用至不同的浏览器及操作***,从而可以提高统一认证服务应用的广泛性。此外,由于适配代理服务不依赖于持久化的数据库,仅作为中间适配层,轻量且无状态,可以较好地根据负载进行动态扩容,从而可以进一步提升应用的广泛性和服务的性能。
附图说明
图1为本申请实施例提供的一种登录方法的实现流程示意图;
图2为本申请实施例提供的一种登录方法的实现流程示意图;
图3为本申请实施例提供的一种登录方法的实现流程示意图;
图4A为本申请实施例提供的一种适配代理服务的组成结构示意图;
图4B为本申请实施例提供的一种登录方法的实现流程示意图;
图5为本申请实施例提供的一种登录装置的组成结构示意图;
图6为本申请实施例提供的一种计算机设备的硬件实体示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面结合附图和实施例对本申请的技术方案进一步详细阐述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一/第二/第三”仅仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一/第二/第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请的目的,不是旨在限制本申请。
为了更好地理解本申请实施例提供的登录方法,下面先对相关技术中的单点登录方案进行说明。
相关技术中,不论是企业自行研发的统一认证服务还是采用其他厂商提供的统一认证服务的应用方案,最大的难题是众多应用服务接入适配的工作量巨大。相关技术的应用服务接入统一认证服务的适配方案中,或者需要对原有应用服务进行二次开发适配,或者需要客户在浏览器中安装插件,例如在客户的浏览器中安装流量劫持插件。
在对原有应用服务进行二次开发适配的方案中,一方面,待接入统一认证服务的应用服务很可能不支持该统一认证服务采用的认证协议(如Oauth2.0);另一方面,待接入统一认证服务的应用服务可能是采购自其他厂商的,为适配统一认证服务所需的二次开发需要额外费用,更有甚者该应用服务已经不再维护,无法支持二次开发。可见,该方案成本较高,并且二次开发对原有应用***有侵入式影响、风险大。
在浏览器中安装插件的方案中,需要每个用户都在浏览器中执行安装插件的操作,从而导致用户使用门槛增加,并且用户对插件的使用有感知,影响用户使用体验。此外,该方案还可能会涉及不同浏览器及操作***等的兼容性问题,在插件安装过程中需要个别调试,工作量难以预估。
在此基础上,本申请实施例提供一种登录方法,该方法可以由用于适配统一认证服务与应用服务的适配代理服务执行。该适配代理服务可以通过任意合适的计算机设备实现,其中,计算机设备指的可以是服务器、笔记本电脑、平板电脑、台式计算机、智能电视、机顶盒、移动设备(例如移动电话、便携式视频播放器、个人数字助理、专用消息设备、便携式游戏设备)等具备数据处理能力的设备。图1为本申请实施例提供的一种登录方法的实现流程示意图,如图1所示,该方法包括如下步骤S101至步骤S104:
步骤S101,响应于接收到统一认证服务发送的目标用户的第一登录请求,确定待登录的应用服务,并基于与所述统一认证服务匹配的第一认证协议,获取所述目标用户的第一登录凭证信息。
这里,统一认证服务可以是基于任意合适的授权认证协议实现授权认证的服务,可以包括但不限于用于实现单点登录的统一登录平台、用于实现门户访问的统一门户平台等中的至少一种。在实施时,统一认证服务支持的功能以及采用的授权认证协议可以根据实际情况确定,本申请实施例对此并不限定。
应用服务可以是提供任意合适的业务服务的应用,如线上购物***、企业信息管理***、博客平台、社交平台等。应用服务可以通过适配代理服务来接入统一认证服务,以通过统一认证服务实现单点登录认证。一个统一认证服务可以接入至少一个应用服务。在实施时,接入统一认证服务的应用服务可以根据实际情况确定,本申请实施例对此并不限定。在一些实施方式中,每一适配代理服务可以对应一个应用服务,待登录的应用服务即为与该适配代理服务对应的应用服务。在一些实施方式中,每一适配代理服务可以对应两个以上应用服务,在目标用户的第一登录请求中携带待登录的应用服务的信息,通过解析该第一登录请求,可以确定待登录的应用服务。
目标用户可以是统一认证服务中的任意合适的请求登录应用服务的用户,该目标用户可以是在待登录的应用服务中已经注册的用户,也可以是还未在该应用服务中注册的用户。
第一登录请求可以是统一认证服务基于自身的认证规则为目标用户生成的登录请求。第一登录请求中可以包括但不限于目标用户的身份信息、待登录的应用服务的信息、用于获取目标用户的身份信息的口令等中的至少之一。在实施时,本领域技术人员可以根据实际情况确定第一登录请求中包含的信息,本申请实施例对此并不限定。
在一些实施方式中,目标用户可以通过浏览器、客户端等访问统一认证服务,该统一认证服务可以根据自身的认证规则向适配代理服务发送该目标用户的第一登录请求。例如,目标用户可以通过浏览器访问统一门户平台,并通过浏览器输入用于在该统一门户平台进行认证的用户名、密码等,统一门户平台在对该目标用户进行认证通过后,可以基于自身的权限控制规则、身份认证协议等确定待发送给适配代理服务的信息,如目标用户的身份信息、待登录的应用服务的信息、用于获取目标用户的身份信息的口令等,并基于待发送给适配代理服务的信息生成该目标用户的第一登录请求。
第一认证协议为统一认证服务用于实现授权认证的协议,可以包括标准的授权认证协议,如OAuth2.0协议、OAuth1.0协议、SAML2.0协议、OpenID协议等,也可以包括自定义的认证协议。在实施时,每一统一认证服务匹配一个第一认证协议,本领域技术人员可以根据实际使用的统一认证服务确定与该统一认证服务匹配的第一认证协议,这里并不限定。在一些实施方式中,适配代理服务可以基于设定的第一匹配关系,确定与统一认证服务匹配的第一认证协议,其中第一匹配关系可以是预先设定的各统一认证服务与第一认证协议之间的匹配关系。在一些实施方式中,可以在统一认证服务发送的目标用户的第一登录请求中携带与该统一认证服务匹配的第一认证协议,通过解析该登录请求,可以获取该第一认证协议。
目标用户的第一登录凭证信息可以是基于与统一认证服务匹配的第一认证协议确定的,第一登录凭证信息中可以包括统一认证服务中用于对目标用户的身份进行认证的认证要素。在实施时,第一登录凭证信息中包含的内容可以是根据统一认证服务实际采用的第一认证协议确定的,本申请实施例对此并不限定。
在一些实施方式中,第一认证协议可以包括从第一登录请求中解析得到第一登录凭证信息的规则,适配代理服务可以基于该第一认证协议,从第一登录请求中解析出第一登录凭证信息。例如,第一登录请求中可以包括加密后的第一登录凭证信息,第一认证协议可以包括对该加密后的第一登录凭证信息进行解密的解密算法和密钥,基于该解密算法和密钥,可以对加密后的第一登录凭证信息进行解密,得到解密后的第一登录凭证信息。
在一些实施方式中,第一认证协议可以包括与统一认证服务进行交互以获取第一登录凭证信息的交互协议,适配代理服务可以基于该第一认证协议,与统一认证服务进行交互,获取目标用户的第一登录凭证信息。例如,在第一认证协议为OAuth2.0协议的情况下,统一认证服务可以在第一登录请求中携带签名后的目标用户的交互密钥,适配代理服务可以利用该统一认证服务的公钥对该签名后的交互密钥进行验签后,获取该交互密钥,并利用该交互密钥从该统一认证服务中获取一个认证令牌,并利用该认证令牌,从该统一认证服务中获取目标用户的用户名、密码等第一登录凭证信息。
步骤S102,基于所述第一登录凭证信息,确定所述目标用户的至少一个目标凭证字段。
这里,目标凭证字段可以包括适配代理服务中用于适配至少一种统一认证服务与至少一种应用服务的凭证字段。目标用户的目标凭证字段可以用于将统一认证服务提供的该目标用户的第一登录凭证信息,转换为与用于该目标用户登录至应用服务的第二登录凭证信息。在实施时,目标凭证字段中各字段的含义可以是预先根据实际情况确定的,这里并不限定。
在一些实施方式中,至少一个目标凭证字段可以包括用户名、密码、认证令牌、描述信息等中的至少之一。例如,在至少一个目标凭证字段包括用户名、密码、认证令牌的情况下,可以对第一登录凭证信息进行解析,得到该目标用户的用户名、密码、认证令牌,也可以基于第一登录凭证信息查询设定的配置信息,确定与该第一登录凭证信息匹配的用户名、密码、认证令牌,并将该用户名、密码和认证令牌确定为目标用户的至少一个目标凭证字段。
步骤S103,基于所述至少一个目标凭证字段以及与所述应用服务匹配的第二认证协议,确定所述目标用户的第二登录凭证信息。
这里,第二认证协议为应用服务用于实现授权认证的协议。在实施时,每一应用服务匹配一个第二认证协议,与应用服务匹配的第二认证协议可以是根据该应用服务实际采用的用户管理体系确定的,本申请实施例对此并不限定。在一些实施方式中,适配代理服务可以基于设定的第二匹配关系,确定与应用服务匹配的第二认证协议,其中第二匹配关系可以是预先设定的各应用服务与第二认证协议之间的匹配关系。在一些实施方式中,每一适配代理服务可以对应一个应用服务,从而每一适配代理服务即可绑定一个第二认证协议,适配代理服务通过确定绑定的第二认证协议即可确定与该应用服务匹配的第二认证协议。
目标用户的第二登录凭证信息可以是基于与应用服务匹配的第二认证协议以及至少一个目标凭证字段确定的,第二登录凭证信息中可以包括应用服务中用于对目标用户的身份进行认证的认证要素。在实施时,第二登录凭证信息中包含的内容可以是根据应用服务实际采用的第二认证协议确定的,本申请实施例对此并不限定。
在一些实施方式中,第二认证协议可以包括将至少一个目标凭证字段转换为第二登录凭证信息的规则,适配代理服务可以基于该规则,将目标用户的至少一个目标凭证字段转换为该目标用户的第二登录凭证信息。例如,第二认证协议可以包括至少一个目标凭证字段与第二登录凭证信息中包括的至少一个认证要素之间的映射关系,基于该映射关系,可以将目标用户的至少一个目标凭证字段转换为该应用服务中用于对该目标用户的身份进行认证的至少一个认证要素,进而可以基于该至少一个认证要素得到该目标用户的第二登录凭证信息。
在一些实施方式中,第二认证协议可以包括与应用服务进行交互以获取第二登录凭证信息的交互协议,适配代理服务可以基于该交互协议,与应用服务进行交互,获取目标用户的第二登录凭证信息。
步骤S104,基于所述第二登录凭证信息,向所述应用服务发送第二登录请求,以使所述应用服务基于所述第二登录凭证信息进行登录认证。
这里,第二登录请求可以是用于请求在应用服务中登录目标用户的请求,应用服务可以基于该第二登录凭证信息进行登录认证。在实施时,可以根据实际的应用服务确定合适的第二登录请求,并采用合适的方式向应用服务发送第二登录请求,这里并不限定。
在一些实施方式中,适配代理服务与应用服务同域,可以将目标用户的第二登录凭证信息存储在浏览器的本地存储空间中,适配代理服务可以通过重定向浏览器至应用服务的登录页面,以通过浏览器向应用服务发送第二登录请求,应用服务的前端可以从浏览器的本地存储空间中读取目标用户的第二登录凭证信息,从而应用服务可以基于读取的第二登录凭证信息进行登录认证。
在一些实施方式中,适配代理服务可以在第二登录请求中携带目标用户的第二登录凭证信息,并通过向该应用服务发送该第二登录请求,以使该应用服务基于该第二登录请求中携带的第二登录凭证信息进行登录认证。
在一些实施例中,所述方法还包括步骤S111和步骤S112中的至少之一:
步骤S111,基于所述统一认证服务,查询设定的第一匹配关系,得到与所述统一认证服务匹配的第一认证协议。
这里,适配代理服务可以通过查询设定的第一匹配关系,确定与当前的统一认证服务匹配的第一认证协议,其中,第一匹配关系可以是预先设定的至少一种统一认证服务与至少一种第一认证协议之间的匹配关系。不同的统一认证服务可以匹配相同的第一认证协议,也可以匹配不同的第一认证协议,本申请实施例并不限定。
步骤S112,基于所述应用服务,查询设定的第二匹配关系,得到与所述应用服务匹配的第二认证协议。
这里,适配代理服务可以通过查询设定的第二匹配关系,确定与当前的应用服务匹配的第二认证协议,其中,第二匹配关系可以是预先设定的各应用服务与第二认证协议之间的匹配关系。不同的应用服务可以匹配相同的第二认证协议,也可以匹配不同的第二认证协议,本申请实施例并不限定。
本申请实施例中,响应于接收到统一认证服务发送的目标用户的第一登录请求,确定待登录的应用服务,并基于与统一认证服务匹配的第一认证协议,获取目标用户的第一登录凭证信息;基于第一登录凭证信息,确定目标用户的至少一个目标凭证字段;基于该至少一个目标凭证字段以及与应用服务匹配的第二认证协议,确定目标用户的第二登录凭证信息;基于第二登录凭证信息,向应用服务发送第二登录请求,以使应用服务基于第二登录凭证信息进行登录认证。这样,通过目标用户的至少一个目标凭证字段以及与应用服务匹配的第二认证协议,可以将基于与统一认证服务匹配的第一认证协议获取的第一登录凭证信息,转换为用于向应用服务发送第二登录请求的第二登录凭证信息,从而可以适配不同的第一认证协议和第二认证协议,进而可以适配不同的统一认证服务和应用服务,以支持通过统一认证服务对应用服务的单点登录认证。如此,可以减少对已有应用服务的侵入和二次开发,从而可以减少开发和运维成本,并且在该登录认证过程中应用服务与统一认证服务之间的适配对用户是无感知的,可以提高用户的使用体验,并能应用至不同的浏览器及操作***,从而可以提高统一认证服务应用的广泛性。此外,由于适配代理服务不依赖于持久化的数据库,仅作为中间适配层,轻量且无状态,可以较好地根据负载进行动态扩容,从而可以进一步提升应用的广泛性和服务的性能。
在一些实施例中,上述步骤S101中所述的基于与所述统一认证服务匹配的第一认证协议,获取所述目标用户的第一登录凭证信息,可以包括如下步骤S121至步骤S122:
步骤S121,获取与所述第一认证协议匹配的第一协议脚本。
这里,与第一认证协议匹配的第一协议脚本可以是用于实现该第一认证协议的任意合适的脚本。第一协议脚本可以是基于Bash脚本、Shell脚本、Groovy脚本、JavaScript脚本、超文本标记语言(Hyper Text Mark-up Language,HTML)、Perl、Python、Ruby等任意合适的脚本语言实现的,也可以是基于自定义的脚本语言实现的,这里并不限定。在实施时,可以根据实际的第一认证协议采用合适的脚本语言实现第一协议脚本。
步骤S122,利用所述第一协议脚本,获取所述目标用户的第一登录凭证信息。
这里,适配代理服务可以通过执行第一协议脚本获取目标用户的第一登录凭证信息。
在一些实施方式中,在第一认证协议包括从第一登录请求中解析得到第一登录凭证信息的规则的情况下,适配代理服务可以通过执行与该第一认证协议匹配的第一协议脚本,从第一登录请求中解析出第一登录凭证信息。例如,第一登录请求中可以包括加密后的第一登录凭证信息,基于第一协议脚本,可以对加密后的第一登录凭证信息进行解密,得到解密后的第一登录凭证信息。
在一些实施方式中,在第一认证协议包括与统一认证服务进行交互以获取第一登录凭证信息的交互协议的情况下,适配代理服务可以通过执行与该第一认证协议匹配的第一协议脚本,与统一认证服务进行交互,获取目标用户的第一登录凭证信息。例如,在第一认证协议为OAuth2.0协议的情况下,统一认证服务可以在第一登录请求中携带签名后的目标用户的交互密钥,适配代理服务可以通过执行第一协议脚本,利用该统一认证服务的公钥对该签名后的交互密钥进行验签后,获取该交互密钥,并利用该交互密钥从该统一认证服务中获取一个认证令牌,利用该认证令牌,可以从该统一认证服务中获取目标用户的用户名、密码等第一登录凭证信息。
上述实施例中,通过获取与第一认证协议匹配的第一协议脚本,并利用第一协议脚本,获取目标用户的第一登录凭证信息。这样,可以简单方便地通过第一协议脚本获取目标用户的第一登录凭证信息,并且,对于采用相同的第一认证协议的统一认证服务,可以复用同一第一协议脚本,从而可以减少多个统一认证服务与应用服务进行适配的成本。
在一些实施例中,上述步骤S122可以包括:
步骤S131,采用动态加载的方式,执行所述第一协议脚本,得到所述目标用户的第一登录凭证信息。
这里,第一协议脚本可以是任意合适的支持动态加载的脚本,本申请实施例对此并不限定。例如,在第一协议脚本为Groovy脚本的情况下,可以通过热加载并执行该Groovy脚本来得到目标用户的第一登录凭证。又如,在第一协议脚本为Java类文件的情况下,可以通过Java反射机制动态加载并执行该Java类文件,以得到目标用户的第一登录凭证。
上述实施例中,采用动态加载的方式执行第一协议脚本,从而得到目标用户的第一登录凭证信息,这样,可以提高对统一认证服务与应用服务进行适配的易操作性,并且,通过动态加载的方式可以在适配代理服务运行的情况下加载并执行第一协议脚本,在适配新的统一认证服务或应用服务时可以减少对当前已运行的统一认证服务和应用服务的影响。
在一些实施例中,上述步骤S103可以包括如下步骤S141至步骤S142:
步骤S141,获取与所述第二认证协议匹配的第二协议脚本。
这里,与第二认证协议匹配的第二协议脚本可以是用于实现该第二认证协议的任意合适的脚本。第二协议脚本可以是基于Bash脚本、Shell脚本、Groovy脚本、JavaScript脚本、超文本标记语言(Hyper Text Mark-up Language,HTML)、Perl、Python、Ruby等任意合适的脚本语言实现的,也可以是基于自定义的脚本语言实现的,这里并不限定。在实施时,可以根据实际的第二认证协议采用合适的脚本语言实现第二协议脚本。
步骤S142,利用所述第二协议脚本,对所述至少一个目标凭证字段进行处理,得到所述目标用户的第二登录凭证信息。
这里,适配代理服务可以通过执行第二协议脚本对至少一个目标凭证字段进行处理,得到目标用户的第二登录凭证信息。
在一些实施方式中,在第二认证协议包括将至少一个目标凭证字段转换为第二登录凭证信息的规则的情况下,适配代理服务可以通过执行与该第二认证协议匹配的第二协议脚本,基于该规则将目标用户的至少一个目标凭证字段转换为该目标用户的第二登录凭证信息。例如,第二认证协议可以包括至少一个目标凭证字段与第二登录凭证信息中包括的至少一个认证要素之间的映射关系,通过执行第二协议脚本,可以基于该映射关系将目标用户的至少一个目标凭证字段转换为该应用服务中用于对该目标用户的身份进行认证的至少一个认证要素,并基于该至少一个认证要素得到该目标用户的第二登录凭证信息。
在一些实施方式中,在第二认证协议包括与应用服务进行交互以获取第二登录凭证信息的交互协议的情况下,适配代理服务可以通过执行与该第二认证协议匹配的第二协议脚本,基于该交互协议,与应用服务进行交互,获取目标用户的第二登录凭证信息。
上述实施例中,通过获取与第二认证协议匹配的第二协议脚本,并利用第二协议脚本,对至少一个目标凭证字段进行处理,得到目标用户的第二登录凭证信息。这样,可以简单方便地通过第二协议脚本获取目标用户的第二登录凭证信息,并且,对于采用相同的第二认证协议的应用服务,可以复用同一第二协议脚本,从而可以减少多个统一认证服务与应用服务进行适配的成本。
在一些实施例中,上述步骤S142可以包括:
步骤S151,采用动态加载的方式执行所述第二协议脚本,对所述至少一个目标凭证字段进行处理,得到所述目标用户的第二登录凭证信息。
这里,第二协议脚本可以是任意合适的支持动态加载的脚本,本申请实施例对此并不限定。例如,在第二协议脚本为Groovy脚本的情况下,可以通过热加载并执行该Groovy脚本来对至少一个目标凭证字段进行处理,得到目标用户的第二登录凭证。又如,在第二协议脚本为Java类文件的情况下,可以通过Java反射机制动态加载并执行该Java类文件,以对至少一个目标凭证字段进行处理,得到目标用户的第二登录凭证。
上述实施例中,采用动态加载的方式执行第二协议脚本,对至少一个目标凭证字段进行处理,得到目标用户的第二登录凭证。这样,可以提高对统一认证服务与应用服务进行适配的易操作性,并且,通过动态加载的方式可以在适配代理服务运行的情况下加载并执行第二协议脚本,在适配新的统一认证服务或应用服务时可以减少对当前已运行的统一认证服务和应用服务的影响。
本申请实施例提供一种登录方法,该方法可以应用于适配代理服务。如图2所示,该方法包括如下步骤S201至步骤S205:
步骤S201,响应于接收到统一认证服务发送的目标用户的第一登录请求,确定待登录的应用服务,并基于与所述统一认证服务匹配的第一认证协议,获取所述目标用户的第一登录凭证信息;所述第一登录凭证信息包括所述目标用户的标识信息。
这里,步骤S201对应于前述步骤S101,在实施时可以参照前述步骤S101的具体实施方式。
目标用户的标识信息可以包括任意合适的用于标识该目标用户的信息,例如,可以包括但不限于目标用户的用户名、密码、访问令牌等中的至少一种。
步骤S202,基于所述目标用户的标识信息,查询设定的配置信息。
这里,配置信息中可以包括至少一个用户的至少一个凭证字段。用户的凭证字段可以包括但不限于用户的用户名、密码、认证令牌、描述信息等中的至少之一。通过用户的标识信息,可以查询配置信息中该用户的至少一个凭证字段。配置信息可以是用户预先设定的,也可以是适配代理服务在从应用服务中获取到用户的至少一个凭证字段之后缓存的。
步骤S203,在查询到所述配置信息中存在与所述标识信息匹配的至少一个凭证字段的情况下,将所述至少一个凭证字段确定为所述目标用户的至少一个目标凭证字段。
步骤S204,基于所述至少一个目标凭证字段以及与所述应用服务匹配的第二认证协议,确定所述目标用户的第二登录凭证信息。
步骤S205,基于所述第二登录凭证信息,向所述应用服务发送第二登录请求,以使所述应用服务基于所述第二登录凭证信息进行登录认证。
这里,步骤S204至步骤S205分别对应于前述步骤S103至步骤S104,在实施时可以参照前述步骤S103至步骤S104的具体实施方式。
在一些实施例中,上述方法还包括:
步骤S211,在查询到所述配置信息中不存在与所述标识信息匹配的至少一个凭证字段的情况下,基于所述标识信息,从所述应用服务获取所述目标用户的至少一个目标凭证字段。
这里,在配置信息中不存在与目标用户的标识信息匹配的至少一个凭证字段的情况下,适配代理服务可以基于该标识信息,从应用服务获取该目标用户的至少一个目标凭证字段。在实施时,可以根据应用服务实际采用的用户管理体系,采用合适的方式获取目标用户的至少一个目标凭证字段,本申请实施例对此并不限定。
在一些实施方式中,适配代理服务可以基于目标用户的标识信息,从应用服务获取该目标用户的第二登录凭证信息,并基于与所述应用服务匹配的第三认证协议和所述第二登录凭证信息,确定所述目标用户的至少一个目标凭证字段。这里,第三认证协议可以是用于基于第二登录凭证信息确定目标凭证字段的任意合适的协议,在实施时,可以根据实际的应用服务确定合适的第三认证协议,本申请实施例对此并不限定。例如,第三认证协议可以包括将第二登录凭证信息转换为至少一个目标凭证字段的规则,适配代理服务可以基于该规则,将目标用户的第二登录凭证信息转换为该目标用户的至少一个目标凭证字段。又如,第三认证协议可以包括与应用服务进行交互以利用第二登录凭证信息获取至少一个目标凭证字段的交互协议,适配代理服务可以基于该交互协议,与应用服务进行交互,以利用第二登录凭证信息获取目标用户的至少一个目标凭证字段。
在一些实施方式中,目标用户可以是在待登录的应用服务中已经注册的用户,适配代理服务可以基于该目标用户的标识信息,向应用服务直接请求该目标用户的至少一个目标凭证字段,或者向应用服务直接请求该目标用户的第二登录凭证信息,并基于与所述应用服务匹配的第三认证协议和所述第二登录凭证信息,确定所述目标用户的至少一个目标凭证字段。
在一些实施方式中,目标用户可以是还未在该应用服务中注册的用户,适配代理服务可以基于该目标用户的标识信息,利用预先申请的应用服务的管理员账户,向应用服务请求注册该目标用户,并在注册该目标用户后获取该目标用户的至少一个目标凭证字段,或者向应用服务请求该目标用户的第二登录凭证信息,并基于与所述应用服务匹配的第三认证协议和所述第二登录凭证信息,确定所述目标用户的至少一个目标凭证字段。
本申请实施例中,第一登录凭证信息可以包括目标用户的标识信息,在基于目标用户的标识信息,查询到设定的配置信息中存在与该标识信息匹配的至少一个凭证字段的情况下,将该至少一个凭证字段确定为目标用户的至少一个目标凭证字段。这样,适配代理服务可以通过设定的配置信息对用户的至少一个凭证字段进行缓存,从而可以减少向应用服务获取目标凭证字段的次数,进而可以提高登录的效率。
本申请实施例提供一种登录方法,该方法可以应用于适配代理服务。如图3所示,该方法包括如下步骤S301至步骤S304:
步骤S301,响应于接收到统一认证服务发送的目标用户的第一登录请求,确定待登录的应用服务,并基于与所述统一认证服务匹配的第一认证协议,获取所述目标用户的第一登录凭证信息;其中,所述统一认证服务与所述适配代理服务之间通过反向代理方式通信,所述适配代理服务与所述应用服务之间通过反向代理方式通信,且所述适配代理服务与所述应用服务被反向代理至同一域。
这里,适配代理服务和应用服务可以通过反向代理被代理至同一域,也即可以在反向代理中为适配代理服务和待登录的应用服务配置相同的域名、端口以及通信协议。统一认证服务可以采用反向代理的方式与适配代理服务进行通信,适配代理服务也可以采用反向代理的方式与应用服务进行通信。
在一些实施方式中,适配代理服务和应用服务可以通过反向代理服务,被代理至同一域;统一认证服务可以将第一登录请求发送给该反向代理服务,该反向代理服务可以将该第一登录请求发送给适配代理服务;适配代理服务在与应用服务通信的过程中,可以将第二登录请求发送给该反向代理服务,该反向代理服务可以将该第二登录请求发送给与该适配代理服务处于同一域的应用服务。在实施时,反向代理服务可以是任意合适的能够实现反向代理的服务,例如,Nginx、HAProxy等;适配代理服务也可以是适配代理服务中用于实现反向代理服务的代理层,这里并不限定。
步骤S302,基于所述第一登录凭证信息,确定所述目标用户的至少一个目标凭证字段。
步骤S303,基于所述至少一个目标凭证字段以及与所述应用服务匹配的第二认证协议,确定所述目标用户的第二登录凭证信息。
步骤S304,基于所述第二登录凭证信息,向所述应用服务发送第二登录请求,以使所述应用服务基于所述第二登录凭证信息进行登录认证。
本申请实施例中,由于适配代理服务与应用服务被反向代理至同一域,这样,在统一认证服务与适配代理服务之间通过反向代理方式进行通信,并且适配代理服务与应用服务之间通过反向代理方式进行通信的过程中,可以实现适配代理服务与应用服务之间前端数据的打通,减少跨域访问导致的限制。
在一些实施例中,上述步骤S301中所述的响应于接收到统一认证服务发送的目标用户的第一登录请求,确定待登录的应用服务,可以包括如下步骤S311:
步骤S311,响应于接收到统一认证服务通过浏览器发送的目标用户的第一登录请求,确定待登录的应用服务。
这里,统一认证服务可以通过浏览器发送目标用户的第一登录请求。例如,在统一认证服务为统一门户平台的情况下,目标用户可以通过浏览器访问该统一门户平台,并输入统一门户平台要求的认证要素后,统一门户平台可以基于输入的认证要素进行认证,在完成认证后,目标用户可以通过在统一门户平台的前端页面中点击待登录的应用服务触发同一门户平台通过浏览器发送该目标用户的第一登录请求。
上述步骤S304可以包括如下步骤S312至步骤S313:
步骤S312,在所述浏览器中打开所述适配代理服务的中转页,并通过所述中转页将所述第二登录凭证信息存储至所述浏览器的存储空间中。
这里,适配代理服务的中转页可以是适配代理服务的任意合适的前端页面,适配代理服务可以通过该中转页将第二登录凭证信息存储至浏览器的存储空间中。
浏览器的存储空间可以包括但不限于浏览器的本地存储空间(localstorage)、本地缓存(Cookie)、会话存储空间(sessionStorage)等中的至少之一,这里并不限定。
步骤S313,通过所述浏览器向所述应用服务发送第二登录请求,以使所述应用服务基于所述存储空间中存储的所述第二登录凭证信息进行登录认证。
这里,适配代理服务可以通过重定向浏览器至应用服务的登录页面,或者在浏览器中打开应用服务的登录页面等任意合适的方式,来向应用服务发送第二登录请求。由于适配代理服务与应用服务被反向代理至同一域,因此,应用服务的前端页面可以从浏览器的存储空间中读取适配代理服务通过中转页存储的第二登录凭证信息,从而应用服务可以基于该第二登录凭证信息进行登录认证。
上述实施例中,适配代理服务在浏览器中打开适配代理服务的中转页,并通过中转页将第二登录凭证信息存储至浏览器的存储空间中,通过浏览器向应用服务发送第二登录请求,以使应用服务基于该存储空间中存储的第二登录凭证信息进行登录认证。这样,用户可以通过浏览器进行无感知的登录操作,实现应用服务与统一认证***之间无感知地适配。
下面说明本申请实施例提供的登录方法在实际场景中的应用。
本申请实施例提供一种用于实现无侵入式的应用服务单点登录集成的适配代理服务,如图4A所示,该适配代理服务400包括面向统一认证服务侧的第一反向代理层410和第一协议规则解析引擎420、统一数据格式转换引擎430、以及面向应用服务侧的第二协议规则解析引擎440和第二反向代理层450,其中:
第一反向代理层410和第二反向代理层450均可以由Nginx实现,通过第一反向代理层410和第二反向代理层450,可以绕过浏览器跨域限制,分别实现对适配代理服务和待登录的应用服务的代理,对将所有待登录的应用服务与适配代理服务代理至同一域下。例如,第一反向代理层410和第二反向代理层450可以分别对应通过Nginx反向代理服务器中的两个不同的反向代理路由器实现。
第一反向代理层410用于通过反向代理的方式接收统一认证服务发送的目标用户的第一登录请求,并确定待登录的应用服务。
第一协议规则解析引擎420,用于通过对基于Groovy脚本语言实现的第一协议脚本的热加载,获取目标用户的第一登录凭证信息,从而实现对统一认证服务的适配。该第一协议脚本与统一认证服务采用的第一认证协议匹配,只要统一认证服务采用的第一认证协议不变,即可重复使用该第一协议脚本。
统一数据格式转换引擎430,用于将第一协议规则解析引擎420获取的目标用户的第一登录凭证信息统一转换为目标用户的至少一个目标凭证字段,如用户标识、用户名、访问令牌、描述信息等,使得第二协议规则解析引擎440可以基于目标用户的至少一个目标凭证字段确定该目标用户的第二登录凭证信息,从而实现第一协议规则解析引擎420与第二协议规则解析引擎440之间的解耦。
第二协议规则解析引擎440,用于通过对基于Groovy脚本语言实现的第二协议脚本的热加载,对至少一个目标凭证字段进行处理,得到目标用户的第二登录凭证信息,从而实现对应用服务的适配,进而可以通过编写不同的Groovy脚本实现对不同应用服务的适配。
第二反向代理层450,用于基于应用服务的请求地址等信息,发起对应用服务的统一登录请求,并在从应用服务中获取到目标用户的第二登录凭证信息后,利用统一数据格式转换引擎430将该第二登录凭证信息转换为目标用户的至少一个目标凭证字段,并对该目标用户的至少一个目标凭证字段进行缓存,用于在短时间内多次登录时统一数据格式转换引擎直接从缓存中获取目标用户的至少一个目标凭证字段。
基于上述实施例提供的适配代理服务,本申请实施例提供一种登录方法,如图4B所示,该方法包括如下步骤S401至步骤S409:
步骤S401,目标用户通过浏览器访问统一认证服务,并输入统一认证服务要求的认证要素;这里,统一认证服务要求的认证要素可以包括但不限于用户名、密码、验证码等中的至少一种。
步骤S402,统一认证服务基于输入的认证要素完成认证后,在浏览器显示待登录的应用服务;
步骤S403,目标用户在统一认证服务的前端页面中点击待登录的应用服务;
步骤S404,统一认证服务根据自身的认证规则向与该应用服务在同一域的适配代理服务发送第一登录请求;这里,认证规则可以如权限控制规则、身份验证逻辑等。
步骤S405,适配代理服务通过实现统一认证服务与应用服务之间协议的适配,将统一认证服务中目标用户的第一登录凭证信息转换为用于应用服务中目标用户的第二登录凭证信息;
步骤S406,适配代理服务在浏览器中打开该适配代理服务的中转页,通过该中转页将目标用户的第二登录凭证信息存储至浏览器的本地存储空间中,并重定向浏览器到应用服务的登录路径下;
步骤S407,浏览器打开应用服务的登录页面;
步骤S408,应用服务在该登录页面获取浏览器的本地存储空间中存储的目标用户的第二登录凭证信息;
步骤S409,应用服务基于第二登录凭证信息进行登录认证。
在一些实施例中,可以将该第二登录凭证信息对应的该目标用户的至少一个目标凭证字段缓存在设定的配置信息中,以在多次跳转的情况下,基于缓存的目标用户的至少一个目标凭证字段确定目标用户的第二登录凭证信息。如图4B所示,上述步骤S405可以包括如下步骤S411至步骤S415:
步骤S411,适配代理服务查询设定的配置信息中是否存在目标用户的至少一个有效的凭证字段;若是,进入步骤S412;若否,进入步骤S413;
步骤S412,适配代理服务将查询到的至少一个有效的凭证字段确定为目标用户的至少一个目标凭证字段;进入步骤S415;
步骤S413,适配代理服务根据目标用户的标识信息,向应用服务请求获取该目标用户的至少一个目标凭证字段;
步骤S414,应用服务返回该目标用户的至少一个目标凭证字段至适配代理服务;
步骤S415,适配代理服务基于目标用户的至少一个目标凭证字段确定目标用户的第二登录凭证信息。
本申请实施例中,通过适配代理服务的第一协议规则解析引擎和第二协议规则解析引擎实现统一认证服务和应用服务之间认证协议的适配,并通过统一数据格式转换引擎实现对第一协议规则解析引擎和第二协议规则解析引擎之间登录凭证信息之间的数据解耦,以及通过反向代理将适配代理服务与应用服务代理至同一域。这样,可以绕过浏览器跨域限制,通过无侵入、无需二次开发的方式实现应用服务在统一认证服务中的对接适配。例如,基于本申请实施例提供的登录方法,在一个新的应用服务完成交付后,运维人员可以在与该应用服务对应的适配代理服务中,根据待接入的统一认证服务采用的第一认证协议,配置与该第一认证协议匹配的Groovy脚本,再根据该应用服务采用的第二认证协议,配置与该第二认证协议匹配的Groovy脚本,即可完成基于该统一认证服务的单点登录全流程的打通。
图5为本申请实施例提供的一种登录装置的组成结构示意图,如图5所示,登录装置500包括:第一确定模块510、第二确定模块520、第三确定模块530和发送模块540,其中:
第一确定模块510,用于响应于接收到统一认证服务发送的目标用户的第一登录请求,确定待登录的应用服务,并基于与所述统一认证服务匹配的第一认证协议,获取所述目标用户的第一登录凭证信息;
第二确定模块520,用于基于所述第一登录凭证信息,确定所述目标用户的至少一个目标凭证字段;
第三确定模块530,用于基于所述至少一个目标凭证字段以及与所述应用服务匹配的第二认证协议,确定所述目标用户的第二登录凭证信息;
发送模块540,用于基于所述第二登录凭证信息,向所述应用服务发送第二登录请求,以使所述应用服务基于所述第二登录凭证信息进行登录认证。
在一些实施例中,所述第一确定模块还用于:获取与所述第一认证协议匹配的第一协议脚本;利用所述第一协议脚本,获取所述目标用户的第一登录凭证信息。
在一些实施例中,所述第一确定模块还用于:采用动态加载的方式,执行所述第一协议脚本,得到所述目标用户的第一登录凭证信息。
在一些实施例中,所述第三确定模块还用于:获取与所述第二认证协议匹配的第二协议脚本;利用所述第二协议脚本,对所述至少一个目标凭证字段进行处理,得到所述目标用户的第二登录凭证信息。
在一些实施例中,所述第三确定模块还用于:采用动态加载的方式执行所述第二协议脚本,对所述至少一个目标凭证字段进行处理,得到所述目标用户的第二登录凭证信息。
在一些实施例中,所述第一登录凭证信息包括所述目标用户的标识信息;所述第二确定模块还用于:基于所述目标用户的标识信息,查询设定的配置信息;在查询到所述配置信息中存在与所述标识信息匹配的至少一个凭证字段的情况下,将所述至少一个凭证字段确定为所述目标用户的至少一个目标凭证字段。
在一些实施例中,所述第二确定模块还用于:在查询到所述配置信息中不存在与所述标识信息匹配的至少一个凭证字段的情况下,基于所述标识信息,从所述应用服务获取所述目标用户的至少一个目标凭证字段。
在一些实施例中,所述统一认证服务与所述适配代理服务之间通过反向代理方式通信,所述适配代理服务与所述应用服务之间通过反向代理方式通信,且所述适配代理服务与所述应用服务被反向代理至同一域。
在一些实施例中,所述第一确定模块还用于:响应于接收到统一认证服务通过浏览器发送的目标用户的第一登录请求,确定待登录的应用服务;所述发送模块还用于:在所述浏览器中打开所述适配代理服务的中转页,并通过所述中转页将所述第二登录凭证信息存储至所述浏览器的存储空间中;通过所述浏览器向所述应用服务发送第二登录请求,以使所述应用服务基于所述存储空间中存储的所述第二登录凭证信息进行登录认证。
在一些实施例中,所述装置还包括以下至少之一:第四确定模块,用于基于所述统一认证服务,查询设定的第一匹配关系,得到与所述统一认证服务匹配的第一认证协议;第五确定模块,用于基于所述应用服务,查询设定的第二匹配关系,得到与所述应用服务匹配的第二认证协议。
以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的登录方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。
本申请实施例提供一种计算机设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法中的步骤。
本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法中的步骤。所述计算机可读存储介质可以是瞬时性的,也可以是非瞬时性的。
本申请实施例提供一种计算机程序产品,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序被计算机读取并执行时,实现上述方法中的部分或全部步骤。该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software DevelopmentKit,SDK)等等。
这里需要指出的是:以上存储介质、计算机程序产品和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请存储介质、计算机程序产品和设备实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
需要说明的是,图6为本申请实施例中计算机设备的一种硬件实体示意图,如图6所示,该计算机设备600的硬件实体包括:处理器601、通信接口602和存储器603,其中:
处理器601通常控制计算机设备600的总体操作。
通信接口602可以使计算机设备通过网络与其他终端或服务器通信。
存储器603配置为存储由处理器601可执行的指令和应用,还可以缓存待处理器601以及计算机设备600中各模块待处理或已经处理的数据(例如,图像数据、音频数据、语音通信数据和视频通信数据),可以通过闪存(FLASH)或随机访问存储器(Random AccessMemory,RAM)实现。处理器601、通信接口602和存储器603之间可以通过总线604进行数据传输。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个***,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。
Claims (13)
1.一种登录方法,其特征在于,应用于适配代理服务,所述方法包括:
响应于接收到统一认证服务发送的目标用户的第一登录请求,确定待登录的应用服务,并基于与所述统一认证服务匹配的第一认证协议,获取所述目标用户的第一登录凭证信息;
基于所述第一登录凭证信息,确定所述目标用户的至少一个目标凭证字段;
基于所述至少一个目标凭证字段以及与所述应用服务匹配的第二认证协议,确定所述目标用户的第二登录凭证信息;
基于所述第二登录凭证信息,向所述应用服务发送第二登录请求,以使所述应用服务基于所述第二登录凭证信息进行登录认证。
2.根据权利要求1所述的方法,其特征在于,所述基于与所述统一认证服务匹配的第一认证协议,获取所述目标用户的第一登录凭证信息,包括:
获取与所述第一认证协议匹配的第一协议脚本;
利用所述第一协议脚本,获取所述目标用户的第一登录凭证信息。
3.根据权利要求2所述的方法,其特征在于,所述利用所述第一协议脚本,获取所述目标用户的第一登录凭证信息,包括:
采用动态加载的方式,执行所述第一协议脚本,得到所述目标用户的第一登录凭证信息。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述基于所述至少一个目标凭证字段以及与所述应用服务匹配的第二认证协议,确定所述目标用户的第二登录凭证信息,包括:
获取与所述第二认证协议匹配的第二协议脚本;
利用所述第二协议脚本,对所述至少一个目标凭证字段进行处理,得到所述目标用户的第二登录凭证信息。
5.根据权利要求4所述的方法,其特征在于,所述利用所述第二协议脚本,对所述至少一个目标凭证字段进行处理,得到所述目标用户的第二登录凭证信息,包括:
采用动态加载的方式执行所述第二协议脚本,对所述至少一个目标凭证字段进行处理,得到所述目标用户的第二登录凭证信息。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述第一登录凭证信息包括所述目标用户的标识信息;
所述基于所述第一登录凭证信息,确定所述目标用户的至少一个目标凭证字段,包括:
基于所述目标用户的标识信息,查询设定的配置信息;
在查询到所述配置信息中存在与所述标识信息匹配的至少一个凭证字段的情况下,将所述至少一个凭证字段确定为所述目标用户的至少一个目标凭证字段。
7.根据权利要求6所述的方法,其特征在于,所述基于所述第一登录凭证信息,确定所述目标用户的至少一个目标凭证字段,还包括:
在查询到所述配置信息中不存在与所述标识信息匹配的至少一个凭证字段的情况下,基于所述标识信息,从所述应用服务获取所述目标用户的至少一个目标凭证字段。
8.根据权利要求1至7中任一项所述的方法,其特征在于,所述统一认证服务与所述适配代理服务之间通过反向代理方式通信,所述适配代理服务与所述应用服务之间通过反向代理方式通信,且所述适配代理服务与所述应用服务被反向代理至同一域。
9.根据权利要求8所述的方法,其特征在于,所述响应于接收到统一认证服务发送的目标用户的第一登录请求,确定待登录的应用服务,包括:
响应于接收到统一认证服务通过浏览器发送的目标用户的第一登录请求,确定待登录的应用服务;
所述基于所述第二登录凭证信息,向所述应用服务发送第二登录请求,包括:
在所述浏览器中打开所述适配代理服务的中转页,并通过所述中转页将所述第二登录凭证信息存储至所述浏览器的存储空间中;
通过所述浏览器向所述应用服务发送第二登录请求,以使所述应用服务基于所述存储空间中存储的所述第二登录凭证信息进行登录认证。
10.根据权利要求1至9中任一项所述的方法,其特征在于,所述方法还包括以下至少之一:
基于所述统一认证服务,查询设定的第一匹配关系,得到与所述统一认证服务匹配的第一认证协议;
基于所述应用服务,查询设定的第二匹配关系,得到与所述应用服务匹配的第二认证协议。
11.一种登录装置,其特征在于,应用于适配代理服务,包括:
第一确定模块,用于响应于接收到统一认证服务发送的目标用户的第一登录请求,确定待登录的应用服务,并基于与所述统一认证服务匹配的第一认证协议,获取所述目标用户的第一登录凭证信息;
第二确定模块,用于基于所述第一登录凭证信息,确定所述目标用户的至少一个目标凭证字段;
第三确定模块,用于基于所述至少一个目标凭证字段以及与所述应用服务匹配的第二认证协议,确定所述目标用户的第二登录凭证信息;
发送模块,用于基于所述第二登录凭证信息,向所述应用服务发送第二登录请求,以使所述应用服务基于所述第二登录凭证信息进行登录认证。
12.一种计算机设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至10任一项所述方法中的步骤。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至10任一项所述方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210423526.5A CN114785590A (zh) | 2022-04-21 | 2022-04-21 | 登录方法、装置、设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210423526.5A CN114785590A (zh) | 2022-04-21 | 2022-04-21 | 登录方法、装置、设备、存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114785590A true CN114785590A (zh) | 2022-07-22 |
Family
ID=82432039
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210423526.5A Withdrawn CN114785590A (zh) | 2022-04-21 | 2022-04-21 | 登录方法、装置、设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114785590A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115604041A (zh) * | 2022-12-16 | 2023-01-13 | 深圳高灯计算机科技有限公司(Cn) | 安全代理方法、***、装置、计算机设备和存储介质 |
CN116032611A (zh) * | 2022-12-28 | 2023-04-28 | 北京深盾科技股份有限公司 | 网络设备的登录方法、***及存储介质 |
CN117319087A (zh) * | 2023-11-28 | 2023-12-29 | 北京车与车科技有限公司 | 基于集中式认证服务的单点登录方法、装置及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102111410A (zh) * | 2011-01-13 | 2011-06-29 | 中国科学院软件研究所 | 一种基于代理的单点登录方法及*** |
CN108365958A (zh) * | 2018-03-01 | 2018-08-03 | 广州南方人才资讯科技有限公司 | 账号登录的验证方法、装置、计算机设备和存储介质 |
CN110278178A (zh) * | 2018-03-15 | 2019-09-24 | ***通信集团有限公司 | 一种登录方法、设备及可读存储介质 |
CN112966253A (zh) * | 2021-02-08 | 2021-06-15 | 北京金和网络股份有限公司 | 一种第三方应用集成登录方法、登录装置及平台 |
CN113378147A (zh) * | 2020-03-09 | 2021-09-10 | 中国电信股份有限公司 | 一种用户登录业务平台的方法 |
CN114186206A (zh) * | 2021-11-29 | 2022-03-15 | 北京百度网讯科技有限公司 | 基于小程序的登录方法、装置、电子设备和存储介质 |
-
2022
- 2022-04-21 CN CN202210423526.5A patent/CN114785590A/zh not_active Withdrawn
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102111410A (zh) * | 2011-01-13 | 2011-06-29 | 中国科学院软件研究所 | 一种基于代理的单点登录方法及*** |
CN108365958A (zh) * | 2018-03-01 | 2018-08-03 | 广州南方人才资讯科技有限公司 | 账号登录的验证方法、装置、计算机设备和存储介质 |
CN110278178A (zh) * | 2018-03-15 | 2019-09-24 | ***通信集团有限公司 | 一种登录方法、设备及可读存储介质 |
CN113378147A (zh) * | 2020-03-09 | 2021-09-10 | 中国电信股份有限公司 | 一种用户登录业务平台的方法 |
CN112966253A (zh) * | 2021-02-08 | 2021-06-15 | 北京金和网络股份有限公司 | 一种第三方应用集成登录方法、登录装置及平台 |
CN114186206A (zh) * | 2021-11-29 | 2022-03-15 | 北京百度网讯科技有限公司 | 基于小程序的登录方法、装置、电子设备和存储介质 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115604041A (zh) * | 2022-12-16 | 2023-01-13 | 深圳高灯计算机科技有限公司(Cn) | 安全代理方法、***、装置、计算机设备和存储介质 |
CN115604041B (zh) * | 2022-12-16 | 2023-05-09 | 深圳高灯计算机科技有限公司 | 安全代理方法、***、装置、计算机设备和存储介质 |
CN116032611A (zh) * | 2022-12-28 | 2023-04-28 | 北京深盾科技股份有限公司 | 网络设备的登录方法、***及存储介质 |
CN117319087A (zh) * | 2023-11-28 | 2023-12-29 | 北京车与车科技有限公司 | 基于集中式认证服务的单点登录方法、装置及存储介质 |
CN117319087B (zh) * | 2023-11-28 | 2024-02-27 | 北京车与车科技有限公司 | 基于集中式认证服务的单点登录方法、装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10581827B2 (en) | Using application level authentication for network login | |
EP3251324B1 (en) | Secure access to cloud-based services | |
EP2806612B1 (en) | Method, device and system for using and invoking oauth api | |
US9455970B2 (en) | Information processing system, information processing apparatus, and authentication method | |
WO2016188256A1 (zh) | 一种应用接入鉴权的方法、***、装置及终端 | |
US8732815B2 (en) | System, method of authenticating information management, and computer-readable medium storing program | |
US9197417B2 (en) | Hosted application sandbox model | |
US8799639B2 (en) | Method and apparatus for converting authentication-tokens to facilitate interactions between applications | |
JP5357246B2 (ja) | 統合認証のためのシステム、方法およびプログラム製品 | |
US8819787B2 (en) | Securing asynchronous client server transactions | |
JP6937280B2 (ja) | 情報処理装置、リソース提供装置、情報処理方法、情報処理プログラム、リソース提供方法、リソース提供プログラム | |
CN114785590A (zh) | 登录方法、装置、设备、存储介质 | |
CN110839087B (zh) | 接口调用方法及装置、电子设备和计算机可读存储介质 | |
US8869258B2 (en) | Facilitating token request troubleshooting | |
CN111786969B (zh) | 单点登录方法、装置及*** | |
JP2020057363A (ja) | セキュリティーアサーションマークアップランゲージ(saml)サービスプロバイダー起点のシングルサインオンのための方法及びプログラム | |
US11063927B1 (en) | Identity-aware application load balancer | |
CN110365684B (zh) | 应用集群的访问控制方法、装置和电子设备 | |
US9059987B1 (en) | Methods and systems of using single sign-on for identification for a web server not integrated with an enterprise network | |
US10305913B2 (en) | Authentication control device and authentication control method | |
US11770385B2 (en) | Systems and methods for malicious client detection through property analysis | |
CN113381979A (zh) | 一种访问请求代理方法及代理服务器 | |
CN113271289B (zh) | 用于资源授权和访问的方法、***和计算机存储介质 | |
JP4729365B2 (ja) | アクセス制御システム、認証サーバ、アクセス制御方法およびアクセス制御プログラム | |
CN116484338A (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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20220722 |