CN117097509A - 一种授权登录方法及装置 - Google Patents
一种授权登录方法及装置 Download PDFInfo
- Publication number
- CN117097509A CN117097509A CN202310827868.8A CN202310827868A CN117097509A CN 117097509 A CN117097509 A CN 117097509A CN 202310827868 A CN202310827868 A CN 202310827868A CN 117097509 A CN117097509 A CN 117097509A
- Authority
- CN
- China
- Prior art keywords
- page
- authorization
- background server
- server
- end app
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 57
- 238000013475 authorization Methods 0.000 claims abstract description 215
- 235000014510 cooky Nutrition 0.000 claims description 40
- 230000004044 response Effects 0.000 claims description 23
- 230000000977 initiatory effect Effects 0.000 claims description 9
- 230000008569 process Effects 0.000 abstract description 10
- 238000005242 forging Methods 0.000 abstract description 3
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 238000004891 communication Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
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/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/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/101—Access control lists [ACL]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请实施例公开了一种授权登录方法及装置。其中,该方法在授权登录过程中,将服务供应商端下发的授权凭据直接发给H5页面的后台服务器,以使该授权凭据对于H5网页不可见,从而极大地减小了攻击方通过伪造H5网页获取授权凭据的可能性,降低了H5网页应用授权登录过程中用户登录信息泄露的风险。本申请实施例所述的装置同样具有上述有益效果。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种授权登录方法及装置。
背景技术
当前,众多H5网页应用已经入驻了大型移动应用(下文简称厂商App);这些H5应用会通过厂商App提供的授权登录服务来认证终端用户的身份,而不需要输入额外的账户密码。在此类授权登录服务中,厂商App大都使用了通用的OAuth2.0协议,并进行了一定程度的适配;然而,OAuth2.0协议的最初设计目标,是为了服务于PC端网页的用户授权服务;因此,厂商所进行的适配可能违背了协议的原始安全设计,并引入用户账号信息泄露的风险。
发明内容
本说明书的一个或多个实施例提供了一种授权登录方法及装置,能够避免移动终端通过前端APP的登录状态登录前端APP中的H5页面过程中,发生的H5页面用户信息泄露的问题。
根据第一方面,提供了一种授权登录方法,适用于服务供应商端,所述方法包括:
在用户登录所述服务供应商端的前端APP的情况下,响应于所述前端APP中的H5页面发送的授权请求,向所述H5页面的后台服务器下发授权凭据;
响应于所述后台服务器发送的携带所述授权凭据的令牌申请请求,向所述后台服务器下发令牌;
响应于所述后台服务器发送的携带所述令牌的用户登录信息获取请求,向所述后台服务器下发所述前端APP的用户登录信息,以供所述后台服务器基于所述用户登录信息在所述H5页面完成登录。
作为第一方面所述方法的一种可选实施方式,所述方法还包括:
响应于所述H5页面的登录,通过所述前端APP保存所述后台服务器发送的用户登录状态Cookie;以及
响应于所述H5页面发送的数据访问请求,通过所述前端APP将所述数据访问请求和所述用户登录状态Cookie一并发送至所述后台服务器,并将所述后台服务器返回的响应数据发送到所述H5页面。
作为第一方面所述方法的一种可选实施方式,在向所述后台服务器下发授权凭据之前,还执行以下步骤:
基于所述授权请求提取所述H5页面的域名信息;
基于所述授权请求中携带的标识符,获取所述后台服务器在所述服务供应商端注册时提交的回调地址;
基于所述域名信息和所述回调地址的一致性,确定所述H5页面是否合法。
根据第二方面,提供了一种授权登录方法,适用于移动终端,所述移动终端安装有服务供应商端提供的前端APP,所述前端APP中嵌入H5页面;所述方法包括:
登录所述前端APP,通过所述H5页面发起授权请求;
获取所述服务供应商端返回的针对所述授权请求的授权凭据,并将所述授权凭据发送至所述H5页面的后台服务器,以供所述后台服务器向所述服务供应商端申请令牌,基于所述令牌获取所述前端APP的用户登录信息,并基于所述用户登录信息在所述H5页面完成登录。
作为第二方面所述方法的一种可选实施方式,该方法还包括:
在登录所述H5页面之后,通过所述前端APP缓存所述后台服务器返回的用户登录状态Cookie;
当所述H5页面向所述服务供应商端发送访问所述后台服务器的数据获取请求时,通过所述前端APP将所述数据获取请求和所述用户登录状态Cookie一并发送至所述后台服务器,并将所述后台服务器返回的响应数据发送给所述H5页面。
根据第三方面,提供了一种授权装置,包括前端APP和授权服务器,所述前端APP中嵌入H5页面;
所述前端APP用于在登录状态下,响应于所述H5页面发送的授权请求,向所述授权服务器申请授权凭据,并将所述授权凭据返回给所述H5页面;
所述授权服务器用于响应于所述前端APP对所述授权凭据的请求,生成所述授权凭据,并下发给前端APP;以及,响应于所述H5页面的后台服务器发送的携带所述授权凭据的令牌申请请求,向所述后台服务器下发令牌。
作为第三方面所述装置的一种可选实施方式,所述前端APP还用于基于所述授权请求,提取所述H5网页的域名信息,并将所述域名信息和所述授权请求中携带的标识符,一并发送至所述授权服务器。
具体的,所述授权服务器在生成所述授权凭据之前,还对所述H5页面的合法性进行审核,具体包括:
基于所述授权请求中携带的标识符,获取所述后台服务器在注册时提交的回调地址;
基于所述前端APP提取出的所述域名信息和所述回调地址的一致性,确定所述H5页面是否合法。
作为第三方面所述装置的一种可选实施方式,所述前端APP还用于响应于所述H5页面的登录,缓存所述后台服务器发送的用户登录状态Cookie;以及在接收到所述H5页面发送的数据访问请求时,将所述数据访问请求与所述用户登录状态Cookie一并发送给所述后台服务器,并将所述后台服务器返回的响应数据发送到所述H5页面。
根据第四方面,提供了一种移动终端,安装有服务供应商端提供的前端APP,所述前端APP中嵌入H5页面;所述移动终端基于所述前端APP的登录状态登录所述H5页面,具体包括:
通过所述H5页面发起授权请求;
通过所述前端APP将所述授权请求发送至所述服务供应商端的授权服务器;
通过所述前端APP获取所述授权服务器返回的针对所述授权请求的授权凭据,并将所述授权凭据发送至所述H5页面的后台服务器,以供所述后台服务器向所述授权服务器申请令牌,基于所述令牌获取所述前端APP的用户登录信息,并基于所述用户登录信息在所述H5页面完成登录。
作为第四方面的一种可选实施方式,所述移动终端在登录所述H5页面后采用以下方式访问所述后台服务器,具体包括:
在登录所述H5页面之后,通过所述前端APP缓存所述后台服务器返回的用户登录状态Cookie;
通过所述H5页面发起访问所述后台服务器的数据获取请求;
通过所述前端APP将所述数据获取请求和所述用户登录状态Cookie一并发送至所述后台服务器,并将所述后台服务器返回的响应数据发送给所述H5页面。
本说明书一个或多个实施例所述的授权登录方法的有益效果在于,在基于OAuth2.0协议的授权登录过程中,将服务供应商端下发的授权凭据直接发给H5页面的后台服务器,以使该授权凭据对于H5网页不可见,从而极大地减小了攻击方通过伪造H5网页获取授权凭据的可能性,降低了H5网页应用授权登录过程中用户登录信息泄露的风险。
本说明书实施例所述的装置同样具有上述有益效果。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书一个或多个实施例提供的授权登录系统的结构图;
图2为本说明书一个或多个实施例提供的一种适用于服务供应商端的授权登录方法的流程示意图;
图3为本说明书一个或多个实施例中提供的一种适用于移动终端的授权登录方法的流程示意图;
图4为本说明书一个或多个实施例中提供的授权登录方法在一种实现场景下的工作流程示意图。
具体实施方式
当前,众多H5网页应用已经入驻了大型移动应用;这些H5网页应用会通过大型移动应用APP提供的授权登录服务来认证终端用户的身份,而不需要输入额外的账户密码;在此类授权登录服务中,大型移动应用APP大都使用了通用的OAuth2.0协议,并进行了一定程度的适配;然而,OAuth2.0协议的最初设计目标,是为了服务于PC端网页的用户授权服务;因此,大型移动应用APP的厂商所进行的适配可能违背了协议的原始安全设计,并引入新的风险。
以用户通过厂商服务器提供的授权登录功能登录商户服务器为例,说明OAuth2.0协议在PC端的应用原理。以下描述PC端基于OAuth2.0协议的授权登录流程:
(101)用户访问客户端(商户服务器)时,通过浏览器向客户端发起授权初始化请求。
(102)客户端(商户服务器)向用户(浏览器)发出授权请求(也即是OAuth2.0中的302重定向请求)。授权请求中包含了客户端指定的回调地址以及客户端的标识符。
(103)浏览器跳转至授权页面,该授权页面由授权服务器提供,授权页面向用户提供商户服务器在授权服务器中提交的相关信息以及授权后商户服务器能够获取的访问权限范围。用户通过授权页面对客户端进行授权,即将授权请求发送给授权服务器(厂商服务器)。
(104)授权服务器(厂商服务器)在接收到用户(浏览器)的授权请求后,核验授权请求中的回调地址redirect_url与客户端注册时提交的回调地址是否一致,以及,核验授权请求中的标识符appid与客户端注册时厂商户服务器分发的标识符是否一致。若回调地址redirect_url和标识符appid均验证成功,则授权服务器(厂商服务器)生成授权凭据code。
(105)授权服务器(厂商服务器)将授权凭据code返回给用户(浏览器)。
(106)用户(浏览器)基于授权请求中的回调地址redirect_url,将授权凭据code发送给客户端(商户服务器)。
(107)客户端(商户服务器)利用授权凭据向授权服务器(厂商服务器)申请令牌access_token。
(108)客户端(商户服务器)使用令牌access_token向资源服务器请求资源。
(109)资源服务器审核令牌无误之后,向客户端(商户服务器)返回相应资源。
由上述流程可知,PC端基于OAuth2.0协议的授权登录流程中,第(105)至第(106)步是一个发生在浏览器端的原子操作,不能被外界干扰或中断,因此可以保证授权凭据code能够被传到合法的客户端。
但是,当OAuth2.0协议应用在移动客户端之后,整个认证流程就会变成以下步骤:
(201)用户通过H5页面向服务供应商发起授权登录请求;服务供应商由厂商APP和厂商服务器组成。
(202)用户发起的授权登录请求由厂商APP接收,厂商APP基于授权登录请求提取当前的域名current_url,并基于提取出的域名current_url和授权登录请求中的第三方应用程序标识符appid判断H5页面的身份。
(203)厂商APP确认H5页面合法后,向厂商服务器发送授权请求(包含appid和current_url)。
(204)厂商服务器核验授权请求中的appid和current_url与第三方应用程序注册时提交的相关信息是否一致,核验通过后,生成授权凭证code。
(205)厂商服务器将授权凭证code下发给厂商APP。
(206)厂商APP将授权凭证code发送给H5页面。
(207)用户通过H5页面将授权凭证code发送给第三方应用程序。
(208)第三方应用程序利用授权凭据code向厂商服务器申请令牌access_token。
(209)厂商服务器核验令牌access_token后,向第三方应用程序返回用户登录信息。
(210)第三方应用程序将获取的用户登录信息与本地保存的用户登录信息进行核验,核验通过后,完成登录。
(211)第三方应用程序向H5页面返回用户登录状态Cookie。
在上述流程中,厂商服务器生成的授权凭证code会首先下发给发起请求的H5页面(步骤205至步骤206),而不是直接发送到第三方应用程序,因此不再是一个原子操作,可能被外部控制和中断。例如:在步骤S2中,厂商APP可能会被攻击,提取的current_url可能是攻击者伪造的恶意H5页面,这样,厂商服务器生成的授权凭证code就会发送到恶意H5页面。由此,攻击者可能申请并获取当前用户在另一个合法H5网页的授权凭据code,并导致受害者在合法H5应用中的账户盗用。
有鉴于此,本说明书的一个或多个实施例提出一种授权登录方法及装置,以防御潜在的账户盗用攻击。
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
本领域技术人员可以理解,在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
本发明的一个或多个实施例提供了一种授权登录方法。请参考图1,图1示例性的显示了一种授权登录系统,可以用于实现该授权登录方法。需要说明的是,本申请的一个或多个实施例所述的授权登录方法,可以依赖图1所示的授权登录系统实现,但不限于该授权登录系统。
如图1所示,授权登录系统包括用户终端10、后端服务器11和授权服务器12。用户终端10通过通信链路分别与后端服务器11和授权服务器12连接,所述通信链路可以为有线网络,也可以是无线网络。例如,用户终端10可以采用WIFI、蓝牙、红外等通信方式与后端服务器11和/或授权服务器12建立通信连接。或者,用户终端10也可以通过移动网络与后端服务器11和/或授权服务器12建立通信连接,其中,移动网络的网络制式可以为2G(GSM)、2.5G(GPRS)、3G(WCDMA、TD-SCDMA、CDMA2000、UTMS)、4G(LTE)、4G+(LTE+)、WiMax等中的任意一种。
用户终端10为移动终端,例如手机、笔记本、Ipad等。用户终端10中安装了服务供应商提供的前端APP,且前端APP中入驻了H5网页应用,并向H5网页应用开放了第三方授权登录的功能。也即前端APP中嵌入了H5页面,用户可以基于前端APP的登录状态,登录H5页面。
后端服务器11是H5页面的服务器,其通过嵌入在前端APP中的H5页面向用户提供授权登录及服务的窗口。该后端服务器11可以是任何具有计算、处理能力的装置、设备、平台、设备集群。本实施例中,并不限制后端服务器11的实现形态,例如,后端服务器11可以是单个的服务器,也可以是由多个服务器组成的服务器集群,后端服务器11还可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品。
授权服务器12是服务供应商提供的、用于响应于前端APP的请求并进行相应授权的服务器。同样的,该授权服务器12可以是任何具有计算、处理能力的装置、设备、平台、设备集群、虚拟服务器或云服务器。
上述授权登录系统在实现本实施例所述授权登录方法时,用户终端10、后端服务器11和授权服务器12执行以下流程:
S100、用户在移动终端10上登录前端APP后,通过前端APP中嵌入的H5页面向前端APP发送授权请求。
S102、前端APP基于授权请求,向授权服务器12申请授权凭据code。
S104、授权服务器12向前端APP返回授权凭据code。
S105、前端APP基于授权请求中的回调地址,将授权凭据code发送给H5页面的后台服务器11。
S106、后台服务器11基于此授权凭据code向授权服务器12申请令牌。
S107、授权服务器12核验授权凭据code无误后,下发令牌。
S108、后台服务器11基于此令牌向授权服务器12请求用户登录信息。
S109、授权服务器12核验令牌无误后,返回用户登录信息。
S110、后台服务器11基于用户登录信息在H5页面完成登录。
在登录后,后台服务器11可以将用户登录状态Cookie返回给前端APP缓存,该用户登录状态Cookie即为H5页面访问后台服务器11的资源的访问令牌。当用户需要访问后台服务器11的数据时,H5页面不直接访问后台服务器11,而是将数据获取请求发送给前端APP。前端APP将数据获取请求与用户登录状态Cookie拼接后发送给后台服务器11。后台服务器11审核用户登录状态Cookie后,向前端APP返回针对该数据获取请求的响应数据。前端APP将响应数据发送给H5页面。
对应于上述授权登录系统,在一些实施例中,本说明书提供了一种授权登录方法,该方法适用于服务供应商端,服务供应商端包括前端APP和授权服务器12。请参考图2,该方法包括以下步骤:
S200、在用户登录服务供应商端的前端APP的情况下,响应于前端APP中的H5页面发起的授权请求,向H5页面的后台服务器11下发授权凭据code。
在一些实施例中,授权服务器12在向后台服务器11下发授权凭据code之前,还执行以下步骤:
基于授权请求提取H5页面的域名信息current_url;
基于授权请求中携带的标识符appid,获取后台服务器11在服务供应商端注册时提交的回调地址;
基于域名信息current_url和回调地址的一致性,确定H5页面是否合法。
具体来说,若域名信息current_url与后台服务器11在服务供应商端注册时提交的回调地址一致,或者属于后台服务器11在服务供应商端注册时提交的多个回调地址之一,则确定H5页面合法,否则确定H5页面不合法。
在核验H5页面合法之后,授权服务器12会询问用户是否同意授权,即H5页面会跳转至授权服务器12提供的授权页面网址,通过授权页面获取用户对本次授权的确认信息。
用户确认授权之后,授权服务器12会针对本次请求生成一个授权凭据code,并将授权凭据code拼接在回调地址的后面,然后以302跳转的形式下发给前端APP,再由前端APP发送到H5页面。
S202、响应于后台服务器11发送的携带授权凭据code的令牌申请请求,向后台服务器11下发令牌。
授权凭据code是授权流程的一个中间临时凭证,是对用户确认授权这一操作的一个暂时性的证书,其生命周期一般较短。在这一有效时间周期内,后台服务器11可以凭借该暂时性证书去授权服务器12换取访问令牌。
授权服务器12会核验授权凭据code的有效性,核验通过后,会下发令牌,该令牌的权限可以使得后台服务器11能够获取授权服务器12中的用户登录信息。
S204、响应于后台服务器11发送的携带令牌的用户登录信息获取请求,向后台服务器11返回前端APP的用户登录信息,以供后台服务器11基于前端APP的用户登录信息在H5页面完成登录。
后台服务器11获取令牌后,会基于该令牌向授权服务器12请求用户登录信息,授权服务器12验证令牌的权限和真实性之后,会将前端APP的用户登录信息返回给后台服务器11,使得后台服务器11能够基于前端APP的用户登录信息在H5页面完成登录。
在一些实施例中,后台服务器11在H5页面完成登录后,会生成用户登录状态Cookie,并将该用户登录状态Cookie作为访问后台服务器11的令牌,发送给前端APP缓存。
当用户通过H5页面发送访问后台服务器11的数据获取请求时,前端APP会将数据访问请求和用户登录状态Cookie拼接后,一并发送给后台服务器11,然后将后台服务器11返回的响应数据发送到H5页面。
与图2所示方法相对应的,本说明书一个或多个实施例还提供了一种授权登录方法,该方法适用于移动终端。请参考图3,图3示出了该授权登录方法的流程图,该方法包括:
S300、登录前端APP,通过H5页面发起授权请求。
需要说明的是,移动终端安装有服务供应商端提供的前端APP,该前端APP中嵌入H5页面。因此,用户在移动终端登录前端APP之后,可以通过前端APP的登录状态登录H5页面。在用户打开H5页面时,通过H5页面向服务供应商端的前端APP发送授权请求,授权请求中携带了H5页面的后端服务器11在服务供应商端的授权服务器12注册时获得的标识符appid。
S302、获取服务供应商端返回的针对授权请求的授权凭据code,并将授权凭据code发送至H5页面的后台服务器11,以供后台服务器11向服务供应商端申请令牌,并基于该令牌获取前端APP的用户登录信息,以基于用户登录信息在所述H5页面完成登录。
由于授权凭据code是一个短期有效的用户授权凭据,不能直接通过授权凭据code向授权服务器12请求用户登录信息。所以,后台服务器11在获取授权凭据code之后,会用在授权凭据code的期限内,向授权服务器12换取一个长期有效的令牌,该令牌的权限可以获取授权服务器12中的前端APP的用户登录信息。
在获取令牌后,后台服务器11即可通过该令牌向授权服务器12请求前端APP的用户登录信息,然后将获取的用户登录信息与移动终端本地保存的用户信息进行匹配,若匹配成功,则在H5页面完成登录。用户在登录H5页面后,可以通过H5页面访问后台服务器11。
在一些实施例中,后台服务器11在完成第三方应用程序登录后,会生成一个用户登录状态Cookie,并将这个用户登录状态Cookie发送给前端APP缓存。
当H5页面发起访问后台服务器11的数据获取请求时,通过前端APP将数据获取请求和用户登录状态Cookie一并发送至后台服务器,并将后台服务器返回的响应数据发送给H5页面。
由上述提供的授权登录方法可知,该方法是对基于OAuth2.0协议的授权登录流程进行了改进,将服务供应商端下发的授权凭据直接发给H5页面的后台服务器11,将后台服务器11生成的用户登录状态Cookie缓存在前端APP,从而使得授权登录相关的授权凭据和最后派生的用户登录态Cookie对H5页面都不可见。即使攻击者能够通过伪造H5页面成功获取code,他也无法消费受害者的用户登录态Cookie,因为H5页面所能够访问的服务器域名存在严格的白名单限制,伪造的H5页面是无法直接访问合法H5页面的后端服务器的。采用上述原理,能够提高授权登录过程中的安全性,避免用户的在合法H5页面中的账户信息泄露。
与图2所示方法相对应的,本说明书一个或多个实施例还提供了一种授权装置,包括前端APP和授权服务器12,前端APP中嵌入H5页面;
前端APP用于在登录状态下,响应于H5页面发送的授权请求,向授权服务器12申请授权凭据,并将授权凭据返回给H5页面;
授权服务器12用于响应于前端APP对授权凭据的请求,生成授权凭据,并下发给前端APP;以及,响应于后台服务器11发送的携带授权凭据的令牌申请请求,向后台服务器11下发令牌。
在一些实施例中,前端APP还用于基于授权请求,提取H5网页的域名信息,并将域名信息和授权请求中携带的标识符,一并发送至授权服务器12。
相应地,授权服务器12在生成授权凭据之前,还对H5页面的合法性进行审核,具体包括:基于授权请求中携带的标识符,获取后台服务器11在注册时提交的回调地址。基于前端APP提取出的域名信息和回调地址的一致性,确定H5页面是否合法:若域名信息和回调地址一致,则确定H5页面合法,否则,确定H5页面不合法。
在一些实施例中,前端APP还用于响应于H5页面的登录,缓存后台服务器11发送的用户登录状态Cookie;以及在接收到H5页面发送的数据访问请求时,将数据访问请求与用户登录状态Cookie一并发送给后台服务器,并将后台服务器返回的响应数据发送到H5页面。
与图3所示方法相对应的,本说明书一个或多个实施例还提供了一种移动终端,该移动终端安装有服务供应商端提供的前端APP,前端APP中嵌入H5页面。该移动终端可以基于前端APP的登录状态登录H5页面,具体包括:
通过H5页面发起授权请求;
通过前端APP将授权请求发送至服务供应商端的授权服务器12;
通过前端APP获取授权服务器12返回的针对授权请求的授权凭据,并将授权凭据发送至H5页面的后台服务器11,以供后台服务器11向授权服务器12申请令牌,基于令牌获取前端APP的用户登录信息,并基于用户登录信息在H5页面完成登录。
在一些实施例中,移动终端在登录H5页面后,可以采用以下方式访问后台服务器11,具体包括:
在登录H5页面之后,通过前端APP缓存后台服务器11返回的用户登录状态Cookie;
通过H5页面发起访问后台服务器11的数据获取请求;
通过前端APP将数据获取请求和用户登录状态Cookie一并发送至后台服务器11,并将后台服务器11返回的响应数据发送给H5页面。
下面结合具体场景对上述授权登录方法进行说明。
请参考图4,图4示出了在厂商APP中登录商户H5页面的流程图。如图4所示,该登录流程包括以下步骤:
S401、商户H5页面向厂商APP发送携带标识符appid的授权登录请求,该appid是商户服务器在请求厂商服务器授权时,由厂商服务器颁发的。
S402、厂商APP提取商户H5页面的当前域名current_url。
S403、厂商APP将标识符appid和域名current_url拼接在授权登录请求中,发送到厂商服务器。
S404、厂商服务器校验标识符appid和域名current_url后,若确认无误,则生成授权凭据code。
S405、厂商服务器将授权凭据code发送给厂商APP。
S406、厂商APP将授权凭据code发送给商户服务器。
S407、商户服务器基于授权凭据code向厂商服务器申请换取令牌,并基于令牌向厂商服务器请求厂商APP的用户登录信息。
S408、厂商服务器核验令牌无误后,将厂商APP的用户登录信息发送给商户服务器。
S409、商户服务器获取厂商APP的用户登录信息后,将其与保存在本地的用户信息进行比对,若一致,则认证成功,商户服务器在商户H5页面完成登录。
S410、商户服务器在商户H5页面完成登录之后,生成一个用户登录状态Cookie,并将用户登录状态Cookie发送给厂商APP。
S411、厂商APP将用户登录状态Cookie缓存在内存中。
S412、厂商APP在缓存用户登录状态Cookie后,向商户H5页面返回授权登录结果(登录成功/登录不成功)。
S413、商户H5页面在登录后,可以向厂商APP发送访问商户服务器的数据获取请求。
S414、厂商APP将接收到的数据获取请求和缓存的用户登录状态Cookie拼接后,发送给商户服务器。
S415、商户服务器向厂商APP返回响应数据。
S416、厂商APP将响应数据发送给商户H5页面。
本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
需要注意的是,以上列举的仅为本发明的具体实施例,显然本发明不限于以上实施例,随之有着许多的类似变化。本领域的技术人员如果从本发明公开的内容直接导出或联想到的所有变形,均应属于本发明的保护范围。
Claims (11)
1.一种授权登录方法,适用于服务供应商端,所述方法包括:
在用户登录所述服务供应商端的前端APP的情况下,响应于所述前端APP中的H5页面发送的授权请求,向所述H5页面的后台服务器下发授权凭据;
响应于所述后台服务器发送的携带所述授权凭据的令牌申请请求,向所述后台服务器下发令牌;
响应于所述后台服务器发送的携带所述令牌的用户登录信息获取请求,向所述后台服务器下发所述前端APP的用户登录信息,以供所述后台服务器基于所述用户登录信息在所述H5页面完成登录。
2.如权利要求1所述的方法,还包括:
响应于所述H5页面的登录,通过所述前端APP保存所述后台服务器发送的用户登录状态Cookie;以及
响应于所述H5页面发送的数据访问请求,通过所述前端APP将所述数据访问请求和所述用户登录状态Cookie一并发送至所述后台服务器,并将所述后台服务器返回的响应数据发送到所述H5页面。
3.如权利要求1所述的方法,在向所述后台服务器下发授权凭据之前,还执行以下步骤:
基于所述授权请求提取所述H5页面的域名信息;
基于所述授权请求中携带的标识符,获取所述后台服务器在所述服务供应商端注册时提交的回调地址;
基于所述域名信息和所述回调地址的一致性,确定所述H5页面是否合法。
4.一种授权登录方法,适用于移动终端,所述移动终端安装有服务供应商端提供的前端APP,所述前端APP中嵌入H5页面;所述方法包括:
登录所述前端APP,通过所述H5页面发起授权请求;
获取所述服务供应商端返回的针对所述授权请求的授权凭据,并将所述授权凭据发送至所述H5页面的后台服务器,以供所述后台服务器向所述服务供应商端申请令牌,基于所述令牌获取所述前端APP的用户登录信息,并基于所述用户登录信息在所述H5页面完成登录。
5.如权利要求4所述的方法,还包括:
在登录所述H5页面之后,通过所述前端APP缓存所述后台服务器返回的用户登录状态Cookie;
当所述H5页面向所述服务供应商端发送访问所述后台服务器的数据获取请求时,通过所述前端APP将所述数据获取请求和所述用户登录状态Cookie一并发送至所述后台服务器,并将所述后台服务器返回的响应数据发送给所述H5页面。
6.一种授权装置,包括前端APP和授权服务器,所述前端APP中嵌入H5页面;
所述前端APP用于在登录状态下,响应于所述H5页面发送的授权请求,向所述授权服务器申请授权凭据,并将所述授权凭据返回给所述H5页面;
所述授权服务器用于响应于所述前端APP对所述授权凭据的请求,生成所述授权凭据,并下发给前端APP;以及,响应于所述H5页面的后台服务器发送的携带所述授权凭据的令牌申请请求,向所述后台服务器下发令牌。
7.如权利要求6所述的装置,所述前端APP还用于基于所述授权请求,提取所述H5网页的域名信息,并将所述域名信息和所述授权请求中携带的标识符,一并发送至所述授权服务器。
8.如权利要求7所述的装置,所述授权服务器在生成所述授权凭据之前,还对所述H5页面的合法性进行审核,具体包括:
基于所述授权请求中携带的标识符,获取所述后台服务器在注册时提交的回调地址;
基于所述前端APP提取出的所述域名信息和所述回调地址的一致性,确定所述H5页面是否合法。
9.如权利要求6所述的装置,所述前端APP还用于响应于所述H5页面的登录,缓存所述后台服务器发送的用户登录状态Cookie;以及在接收到所述H5页面发送的数据访问请求时,将所述数据访问请求与所述用户登录状态Cookie一并发送给所述后台服务器,并将所述后台服务器返回的响应数据发送到所述H5页面。
10.一种移动终端,安装有服务供应商端提供的前端APP,所述前端APP中嵌入H5页面;所述移动终端基于所述前端APP的登录状态登录所述H5页面,具体包括:
通过所述H5页面发起授权请求;
通过所述前端APP将所述授权请求发送至所述服务供应商端的授权服务器;
通过所述前端APP获取所述授权服务器返回的针对所述授权请求的授权凭据,并将所述授权凭据发送至所述H5页面的后台服务器,以供所述后台服务器向所述授权服务器申请令牌,基于所述令牌获取所述前端APP的用户登录信息,并基于所述用户登录信息在所述H5页面完成登录。
11.如权利要求10所述的移动终端,所述移动终端在登录所述H5页面后采用以下方式访问所述后台服务器,具体包括:
在登录所述H5页面之后,通过所述前端APP缓存所述后台服务器返回的用户登录状态Cookie;
通过所述H5页面发起访问所述后台服务器的数据获取请求;
通过所述前端APP将所述数据获取请求和所述用户登录状态Cookie一并发送至所述后台服务器,并将所述后台服务器返回的响应数据发送给所述H5页面。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310827868.8A CN117097509A (zh) | 2023-07-06 | 2023-07-06 | 一种授权登录方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310827868.8A CN117097509A (zh) | 2023-07-06 | 2023-07-06 | 一种授权登录方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117097509A true CN117097509A (zh) | 2023-11-21 |
Family
ID=88772574
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310827868.8A Pending CN117097509A (zh) | 2023-07-06 | 2023-07-06 | 一种授权登录方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117097509A (zh) |
-
2023
- 2023-07-06 CN CN202310827868.8A patent/CN117097509A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3251324B1 (en) | Secure access to cloud-based services | |
CN110582768B (zh) | 用于提供安全数据库访问的装置和方法 | |
CN101027676B (zh) | 用于可控认证的个人符记和方法 | |
US9178868B1 (en) | Persistent login support in a hybrid application with multilogin and push notifications | |
KR102001544B1 (ko) | 통신 시스템에서 사용자 인증을 대행하는 장치 및 방법 | |
US20100077467A1 (en) | Authentication service for seamless application operation | |
CN110365684B (zh) | 应用集群的访问控制方法、装置和电子设备 | |
CN103685204A (zh) | 基于物联网资源共享平台的资源鉴权方法 | |
CN106161475B (zh) | 用户鉴权的实现方法和装置 | |
US11165768B2 (en) | Technique for connecting to a service | |
CN109474600B (zh) | 一种账号绑定方法、系统、装置及其设备 | |
CN110278084B (zh) | eID建立方法、相关设备及系统 | |
US20200322151A1 (en) | Apparatus and methods for secure access to remote content | |
CN109962892A (zh) | 一种登录应用的认证方法及客户端、服务器 | |
CN115022047B (zh) | 基于多云网关的账户登录方法、装置、计算机设备及介质 | |
CN111241523B (zh) | 认证处理方法、装置、设备和存储介质 | |
KR102308859B1 (ko) | 생체 정보 기반 대리 인증 서비스 시스템 및 방법 | |
CN112929388B (zh) | 网络身份跨设备应用快速认证方法和系统、用户代理设备 | |
CN113901429A (zh) | 多租户系统的访问方法及装置 | |
KR101879843B1 (ko) | Ip 주소와 sms를 이용한 인증 방법 및 시스템 | |
CN112738005A (zh) | 访问处理方法、装置、系统、第一认证服务器及存储介质 | |
US11595215B1 (en) | Transparently using macaroons with caveats to delegate authorization for access | |
CN117097509A (zh) | 一种授权登录方法及装置 | |
KR20150095255A (ko) | 신뢰 서비스 장치를 이용한 신뢰된 아이덴티티 관리 서비스 제공 시스템 및 그 운영방법 | |
CN109962897B (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 |