CN117240677A - H5页面的授权方法和h5页面的授权装置 - Google Patents
H5页面的授权方法和h5页面的授权装置 Download PDFInfo
- Publication number
- CN117240677A CN117240677A CN202311139143.6A CN202311139143A CN117240677A CN 117240677 A CN117240677 A CN 117240677A CN 202311139143 A CN202311139143 A CN 202311139143A CN 117240677 A CN117240677 A CN 117240677A
- Authority
- CN
- China
- Prior art keywords
- authorization
- page
- communication channel
- applet
- target communication
- 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
- 238000013475 authorization Methods 0.000 title claims abstract description 410
- 238000000034 method Methods 0.000 title claims abstract description 62
- 238000004891 communication Methods 0.000 claims abstract description 202
- 238000012795 verification Methods 0.000 claims description 23
- 230000004044 response Effects 0.000 claims description 13
- 238000004140 cleaning Methods 0.000 claims description 8
- 230000001960 triggered effect Effects 0.000 claims description 8
- 238000012545 processing Methods 0.000 abstract description 13
- 230000036541 health Effects 0.000 abstract description 2
- 238000004590 computer program Methods 0.000 description 10
- 238000003860 storage Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Storage Device Security (AREA)
Abstract
本申请涉及计算机技术领域,适用于医疗健康领域,公开了一种H5页面的授权方法和H5页面的授权装置,包括:构建目标通信通道;接收第一服务端通过目标通信通道发送的小程序对应的H5页面的授权请求;检测H5页面的授权指示状态;若H5页面处于允许授权状态,调取小程序的用户授权信息;通过目标通信通道将用户授权信息发送至第一服务端,以使第一服务端通过目标通信通道将用户授权信息转发至第二服务端。从而使H5页面的授权操作统一由原生小程序控制,确保授权的唯一性,无需用户重复输入授权信息,而且,H5页面只需负责发起授权请求并监听消息做出对应业务处理即可,无需对授权状态做额外的处理,减少代码量的同时也有更好的兼容性。
Description
技术领域
本申请涉及计算机技术领域,适用于医疗健康领域,尤其是涉及到一种H5页面的授权方法和H5页面的授权装置。
背景技术
现有技术中,小程序是一种不需要下载安装即可使用的应用,其可以在客户端应用中运行。一般每个小程序在使用时需要输入账号信息(用户名和密码)以进行授权登陆。但当小程序中嵌套H5页面时,考虑到短时间内对用户隐私信息重复授权存在的安全隐患,小程序登录与H5页面登录通常是相互独立的。小程序的用户授权信息无法和H5页面同步,也即,如果用户已经在客户端中登录小程序,在客户端中进入H5页面时仍需要用户在H5页面中授权登录。用户需要多次执行授权操作,授权过程复杂繁琐,降低用户体验。
发明内容
有鉴于此,本申请提供了一种H5页面的授权方法、装置、计算机设备及存储介质,以在保证安全性的情况下,解决H5页面授权操作费时费力的问题。
第一方面实施例,提供了一种H5页面的授权方法,适用于客户端,该方法包括:
构建目标通信通道,其中,目标通信通道用于连接小程序的客户端和第一服务端,以及连接第一服务端和H5页面的第二服务端;
接收第一服务端通过目标通信通道发送的小程序对应的H5页面的授权请求,其中,授权请求由对H5页面的第一操作触发产生;
检测H5页面的授权指示状态;
若H5页面处于允许授权状态,调取小程序的用户授权信息;
通过目标通信通道将用户授权信息发送至第一服务端,以使第一服务端通过目标通信通道将用户授权信息转发至第二服务端。
进一步地,H5页面的授权方法还包括:
若H5页面处于未允许授权状态,展示H5页面的授权申请窗口;
响应于对授权申请窗口的第二操作,将H5页面的授权指示状态变更为允许授权状态。
进一步地,H5页面的授权方法还包括:
若H5页面处于允许授权状态的持续时长大于预设时长,将H5页面的授权指示状态变更为未允许授权状态。
进一步地,H5页面的授权方法还包括:
获取H5页面的授权列表,其中,授权列表包括至少一个处于允许授权状态的H5页面的通信标识;
若授权列表中通信标识的数量大于预设数量,将授权列表中符合预设清理规则的第一H5页面的授权指示状态变更为未允许授权状态,并将第一H5页面的通信标识从授权列表中移除。
进一步地,H5页面的授权方法还包括:
响应于小程序的启动指令,检测小程序的用户授权状态;
若小程序的处于授权登陆状态,连通目标通信通道;
若小程序的处于未授权状态,展示授权登陆窗口;
响应于对授权登陆窗口的第三操作,获取并存储用户授权信息;
通过目标通信通道将用户授权信息发送至第一服务端,以使第一服务端完成对小程序的授权登录。
进一步地,H5页面的授权方法还包括:
若目标通信通道处于连通状态,按照预设周期通过目标通信通道向第一服务端发送心跳信息;
若在预设时段内未接收到第一服务端发送的心跳响应信息,执行目标通信通道的重连操作;
若重连操作失败,断开目标通信通道。
第二方面实施例,提供了一种H5页面的授权方法,适用于第一服务端,该方法包括:
构建目标通信通道,目标通信通道用于连接小程序的客户端和第一服务端,以及连接第一服务端与小程序对应的H5页面的第二服务端;
通过目标通信通道接收对H5页面的第一操作触发产生的授权请求;
通过目标通信通道将授权请求发送至小程序的客户端,以使客户端在H5页面处于允许授权状态的情况下,调取小程序的用户授权信息;
接收小程序的客户端通过目标通信通道发送的用户授权信息;
通过目标通信通道将用户授权信息发送至第二服务端,以使第二服务端完成对H5页面的授权。
进一步地,将用户授权信息发送至第二服务端,包括:
对用户授权信息进行有效性验证,得到验证结果;
若验证结果为验证通过,将用户授权信息发送至第二服务端。
第三方面实施例,提供了一种H5页面的授权装置,该装置包括:
构建模块,用于构建目标通信通道,其中,目标通信通道用于连接小程序的客户端和第一服务端,以及连接第一服务端和H5页面的第二服务端;
通信模块,用于接收第一服务端通过目标通信通道发送的小程序对应的H5页面的授权请求,其中,授权请求由对H5页面的第一操作触发产生;
授权管理模块,用于检测H5页面的授权指示状态;以及,若H5页面处于允许授权状态,调取小程序的用户授权信息;
通信模块,还用于通过目标通信通道将用户授权信息发送至第一服务端,以使第一服务端通过目标通信通道将用户授权信息转发至第二服务端。
进一步地,H5页面的授权装置还包括:
第一展示模块,用于若H5页面处于未允许授权状态,展示H5页面的授权申请窗口;
授权管理模块,用于响应于对授权申请窗口的第二操作,将H5页面的授权指示状态变更为允许授权状态。
进一步地,授权管理模块,用于若H5页面处于允许授权状态的持续时长大于预设时长,将H5页面的授权指示状态变更为未允许授权状态。
进一步地,授权管理模块,还用于获取H5页面的授权列表,其中,授权列表包括至少一个处于允许授权状态的H5页面的通信标识;若授权列表中通信标识的数量大于预设数量,将授权列表中符合预设清理规则的第一H5页面的授权指示状态变更为未允许授权状态,并将第一H5页面的通信标识从授权列表中移除。
进一步地,授权管理模块,还用于响应于小程序的启动指令,检测小程序的用户授权状态;
通信模块,还用于若小程序的处于授权登陆状态,连通目标通信通道;
H5页面的授权装置还包括:
第二展示模块,用于若小程序的处于未授权状态,展示授权登陆窗口;
授权管理模块,还用于响应于对授权登陆窗口的第三操作,获取并存储用户授权信息;
通信模块,还用于通过目标通信通道将用户授权信息发送至第一服务端,以使第一服务端完成对小程序的授权登录。
进一步地,通信模块,还用于若目标通信通道处于连通状态,按照预设周期通过目标通信通道向第一服务端发送心跳信息;若在预设时段内未接收到第一服务端发送的心跳响应信息,执行目标通信通道的重连操作;若重连操作失败,断开目标通信通道。
第四方面实施例,提供了一种H5页面的授权装置,该装置包括:
构建模块,用于构建目标通信通道,目标通信通道用于连接小程序的客户端和第一服务端,以及连接第一服务端与小程序对应的H5页面的第二服务端;
通信模块,用于通过目标通信通道接收对H5页面的第一操作触发产生的授权请求;以及,通过目标通信通道将授权请求发送至小程序的客户端,以使客户端在H5页面处于允许授权状态的情况下,调取小程序的用户授权信息;以及,接收小程序的客户端通过目标通信通道发送的用户授权信息;以及,通过目标通信通道将用户授权信息发送至第二服务端,以使第二服务端完成对H5页面的授权。
进一步地,H5页面的授权装置还包括:
验证模块,用于对用户授权信息进行有效性验证,得到验证结果;
通信模块,具体用于若验证结果为验证通过,将用户授权信息发送至第二服务端。
第五方面实施例,提供了一种计算机设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述H5页面的授权方法的步骤。
第六方面实施例,提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现上述H5页面的授权方法的步骤。
上述H5页面的授权方法和H5页面的授权装置所实现的方案中,预先部署目标通信通道,以连通小程序的客户端和第一服务端,以及第一服务端和H5页面。当小程序内嵌的H5页面发起授权请求时,H5页面的第二服务端将授权请求通过目标通信通道发送至第一服务端,再由第一服务端通过目标通信通道转发至客户端。客户端接收到授权请求后,获取该H5页面的授权指示状态,以判断近期内用户是否已经授权小程序对H5页面进行授权。当检测到该H5页面处于允许授权状态,也即用户曾经授权小程序对H5页面进行授权,客户端调取用于授权登录小程序的用户授权信息,并通过目标通信通道将用户授权信息发送至第一服务端,再由第一服务端将用户授权信息通过目标通信通道返回第二服务端。第二服务端获得用户授权信息后即可完成H5页面的授权。如此,H5页面的授权操作统一由原生小程序控制,确保授权的唯一性,在保证安全性的情况下,无需用户重复输入授权信息,用户体验更好。而且,H5页面只需负责发起授权请求并监听消息做出对应业务处理即可,无需对授权状态做额外的处理,减少代码量的同时也有更好的兼容性。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例中H5页面的授权方法的流程示意图之一;
图2是本申请实施例中H5页面的授权方法的流程示意图之二;
图3是本申请实施例中H5页面的授权方法的流程示意图之三;
图4是本申请实施例中H5页面的授权装置的结构示意图之一;
图5是本申请实施例中H5页面的授权装置的结构示意图之二。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为本申请实施例提供的H5页面的授权方法的一个流程示意图,请参阅图1所示,以H5页面的授权方法应用于小程序的客户端和第一服务端为例进行说明,该方法包括如下步骤:
步骤101,第一服务端和客户端构建目标通信通道;
其中,目标通信通道是连接和集成不同数据源和系统的Java库,支持同一个用户ID和不同小程序ID间的通信。本申请实施例中,目标通信通道用于连接小程序的客户端和第一服务端,以及连接第一服务端与小程序对应的H5页面的第二服务端。
具体地,目标通信通道可以基于Archery Connector工具、Apache NiFi工具、MySQL Workbench工具、Tableau工具等进行构建,本申请实施例不做具体限定。
本申请实施例中,小程序需要在相应的客户端上运行,客户端是安装在计算机设备(如,手机)中的应用程序,客户端可以是医疗平台客户端。客户端中还可以登录H5页面,H5页面是指基于HTML5、CSS和JavaScript等Web技术开发的网页,用于提供业务请求对应的业务。通过小程序web-view插件,可将一个指定的URL地址加载到小程序的页面中,并在小程序中展示H5页面的内容,以实现在小程序中嵌入H5页面。例如,用户可通过A市医院小程序跳转至医保系统的H5页面。此外,第一服务端是指用户管理和处理小程序相关业务信息的服务端,第二服务端是指接收和处理客户端的浏览器连接请求(WebSocket)的服务端,第一服务端和第二服务端可以是同一小程序服务器集群的不同子服务器。
在该实施例中,通过构建目标通信通道为H5页面和小程序提供了一种统一的访问方式,以便于进行在不同的数据源的H5页面和小程序上执行授权操作,从而提高H5页面授权操作的效率和灵活性。
在本申请的一些实施例中,如图2所示,步骤101,也即客户端构建目标通信通道之后,H5页面的授权方法还包括:
步骤201,响应于小程序的启动指令,客户端检测小程序的用户授权状态;
步骤202,若小程序的处于授权登陆状态,客户端连通目标通信通道;
步骤203,若小程序的处于未授权状态,客户端展示授权登陆窗口;
步骤204,响应于对授权登陆窗口的第三操作,客户端获取并存储用户授权信息;
步骤205,客户端通过目标通信通道将用户授权信息发送至第一服务端。
其中,用户授权状态包括授权登陆状态和未授权状态,授权登陆状态表示用户已经允许小程序访问其信息。未授权状态表示用户尚未允许小程序访问其信息。
具体的,授权登录窗口可以包括一些说明文字、授权按钮等元素,以引导用户进行小程序的授权登录。
在该实施例中,在小程序启动时,通过调用相应的API或请求后台接口,检测该用户在小程序中的用户授权状态。如果用户已经授权登录,可以直接激活目标通信通道,以进行后续的业务操作。如果用户处于未授权状态,客户端展示小程序授权登录窗口给用户,以提醒用户进行授权操作。当用户产生第三操作时,小程序客户端可以获取用户输入的授权信息,或调用相应的API接口获取用户授权信息。客户端获取到用户授权信息后,可以将其存储在小程序的本地存储中,以便后续使用。同时,小程序可以将其发送至第一服务端,以完成对小程序的授权登录。从而通过控制目标通信通道的连接状态和预先存储用户授权信息,使得后续小程序在对H5页面进行授权时能够及时获取到用户授权信息,防止因小程序未授权时导致的H5页面授权失败的情况,保证用户能够及时享受小程序和H5页面的完整功能,提升用户使用体验。
具体举例来说,以医用客户端的病例查询小程序为例,在用户首次启动病例查询小程序或长时间未启动后再次启动病例查询小程序时,小程序通过目标通信通道与第一服务端建立通道连接。病例查询小程序通过指定接口获取用户的临时登录凭证code,并监听第一服务端下行消息并做具体授权引导操作以获取用户输入的用户授权信息。再将用户授权信息和获取到的临时登录凭证code发送到第一服务端。第一服务端使用临时登录凭证code和用户授权信息进行登录验证,第一服务端验证通过后,返回一个包含用户授权信息的登录凭证给医用客户端,医用客户端将登录凭证保存到本地,以便于后续的接口调用和身份验证。授权登录后,用户可用过病例查询小程序使用指定医院的病例查询功能。
进一步地,在本申请的一些实施例中,步骤202,也即连通目标通信通道之后,H5页面的授权方法还包括:若目标通信通道处于连通状态,客户端按照预设周期通过目标通信通道向第一服务端发送心跳信息;若在预设时段内未接收到第一服务端发送的心跳响应信息,客户端执行目标通信通道的重连操作;若重连操作失败,客户端断开目标通信通道。
在该实施例中,客户端通过周期性发送心跳信息确认客户端与第一服务端之间的目标通信通道的连接是否仍然有效。如果客户端在预设时段内未接收到第一服务端发送的心跳响应信息,这意味着目标通信通道可能已经断开或出现故障,此时,客户端会尝试执行目标通信通道的重连操作,以尝试重新建立连接。在执行重连操作后,客户端需要判断重连的结果。如果重连成功,即重新建立了目标通信通道连接,客户端可以继续发送心跳信息并保持连接状态。如果重连操作失败(例如,TCP三次握手失败或身份认证失败等),客户端将断开目标通信通道,并进行相应的处理。从而可以及时检测连接的断开和重连,不仅减少通信的延迟时间,防止在无效的连接上持续尝试通信,时释放资源并减少不必要的通信开销,提高系统的性能和效率,而且,可以实时了解连接的状态,后续保证数据传输的稳定性和可靠性。
可以理解的是,第二服务端也可以采用心跳机制检测第一服务端和第二服务端之间目标通信通道的连接状态,例如,小程序和H5页面每隔10秒ping一次,监听是否还处于连接状态。
步骤102,第一服务端通过目标通信通道接收对小程序对应的H5页面的第一操作触发产生的授权请求;
步骤103,第一服务端通过目标通信通道将授权请求发送至小程序的客户端;
步骤104,客户端接收第一服务端通过目标通信通道发送的小程序对应的H5页面的授权请求;
步骤105,客户端检测H5页面的授权指示状态;
其中,授权指示状态包括允许授权状态和未允许授权状态。允许授权状态是指用户授权小程序对H5页面进行授权,未允许授权状态是指用户没有授权小程序对H5页面进行授权。
在具体的实施例中,客户端或者第一服务端能够对用户指示的可以通过小程序进行授权的H5页面的通信标识进行记录,形成H5页面的授权列表。该授权列表中包括至少一个处于允许授权状态的H5页面的通信标识。通过对比授权列表中包含的通信标识即可确定提交授权请求的H5页面的授权指示状态。具体地,当授权列表中存在有提交授权请求的H5页面的通信标识,则说明该H5页面已经被用户允许通过小程序进行授权,即该H5页面处于允许授权状态。
步骤106,若H5页面处于允许授权状态,客户端调取小程序的用户授权信息;
其中,小程序的用户授权信息包括以下至少一种:用户身份信息、用于位置信息、用户设备信息等。用户身份信息包括姓名、年龄、身份证号码、手机号等。用户授权信息用于验证用户的身份,并授权登陆小程序,以使小程序可以提供全面、且个性化的服务。
在该实施例中,当小程序内嵌的H5页面发起授权请求时,H5页面的第二服务端将授权请求通过目标通信通道发送至第一服务端,再由第一服务端通过目标通信通道转发至客户端。客户端接收到授权请求后,获取该H5页面的授权指示状态,以判断近期内用户是否已经授权小程序对H5页面进行授权。若H5页面处于允许授权状态,说明用户已经确认可通过小程序对H5页面进行授权。此时,客户端调取用户登录小程序时输入的用户授权信息,以使H5页面利用原生小程序的信息进行授权操作,也即,在小程序已授权登录的情况下,可以直接登录进入H5页面。无需用户重复输入授权信息即可实现H5页面的授权,不仅简化了授权流程,提高了H5页面响应速度,而且用户在登录H5页面时能够更好的保护个人隐私,授权安全性更高。
需要说明的是,本申请实施例中所涉及的用户授权信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
在本申请的一些实施例中,客户端在确认H5页面处于允许授权状态后,H5页面的授权方法还包括:若H5页面处于允许授权状态的持续时长大于预设时长,客户端将H5页面的授权指示状态变更为未允许授权状态。
在该实施例中,客户端定时检查H5页面处于允许授权状态的持续时长是否超过了预设时长。如果超过了预设时长,说明用户已经长时间没有使用过该H5页面,客户端可以通过相应的代码逻辑将授权指示状态变更为未允许授权状态。从而通过取消授权的方式减少用户个人信息的暴露风险,有效防止未经授权的访问和使用,确保用户数据的合规性和安全性。而且小程序可以更好地控制用户的访问H5页面权限和数据使用情况,有助于减少冗余和不必要的权限,提高小程序的性能和响应速度。
在本申请的一些实施例中,客户端在确认H5页面处于允许授权状态后,H5页面的授权方法还包括:客户端获取H5页面的授权列表,其中,授权列表包括至少一个处于允许授权状态的H5页面的通信标识;若授权列表中通信标识的数量大于预设数量,客户端将授权列表中符合预设清理规则的第一H5页面的授权指示状态变更为未允许授权状态,并将第一H5页面的通信标识从授权列表中移除。
其中,页面通信标识用于唯一标识一个H5页面。预设数量可以根据实际需求设定,比如系统管理员可以设定最近90天内未使用的H5页面通信标识数量超过5个时触发清理规则。预设清理规则也可以根据实际需求设定,例如,可以设定系统在最近30天内未被访问的H5页面将被视为符合清理规则。
在该实施例中,获取包括至少一个处于允许授权状态的H5页面的通信标识的授权列表。判断通信标识的数量是否大于预设数量,如果通信标识的数量大于预设数量,说明小程序拥有大量H5页面的授权权限。此时,系统根据预设清理规则,选择符合规则的第一个H5页面进行清理,具体地,将该H5页面的授权指示状态变更为未允许授权状态,并从授权列表中移除该页面的通信标识。从而通过跟踪和监控授权列表的变化,可以有效地管理用户的授权,保护用户的隐私和数据安全,提高系统的运行效率,并遵守相关的法规和规定。
在本申请的一些实施例中,如图3所示,提供了一种具体地实体对齐方案,H5页面的授权方法还包括如下步骤:
步骤301,若H5页面处于未允许授权状态,客户端展示H5页面的授权申请窗口;
步骤302,响应于对授权申请窗口的第二操作,客户端将H5页面的授权指示状态变更为允许授权状态。
在该实施例中,若H5页面首次申请授权或长时间未使用后再次登录,此时H5页面处于未允许授权状态,为了保证后续用户能够正常时候H5页面的完成功能,在小程序中展示H5页面的授权申请窗口。用户可通过对授权申请窗口的第二操作开放通过小程序授权H5页面的行为的权限。如此,客户端响应于第二操作触发H5页面的状态变更,以便于客户端对用户的授权意向进行记录。当H5页面下次再需要获取对应授权时,小程序客户端可通过授权指示状态判断是否需要再次授权。当发现已经授权过该操作,也即H5页面处于允许授权状态,就不再弹出对应授权申请窗口,直接将用户授权信息通过目标通信通道告知给H5页面,从而避免了重复授权的操作,提升用户使用体验。
步骤107,客户端通过目标通信通道将用户授权信息发送至第一服务端;
步骤108,第一服务端接收小程序的客户端通过目标通信通道发送的用户授权信息;
步骤109,第一服务端通过目标通信通道将用户授权信息发送至第二服务端。
本申请实施例提供的H5页面的授权方法,当小程序内嵌的H5页面发起授权请求时,H5页面的第二服务端将授权请求通过目标通信通道发送至第一服务端,再由第一服务端通过目标通信通道转发至客户端。客户端接收到授权请求后,获取该H5页面的授权指示状态,以判断近期内用户是否已经授权小程序对H5页面进行授权。当检测到该H5页面处于允许授权状态,也即用户曾经授权小程序对H5页面进行授权,客户端调取用于授权登录小程序的用户授权信息,并通过目标通信通道将用户授权信息发送至第一服务端,再由第一服务端将用户授权信息通过目标通信通道返回第二服务端。第二服务端获得用户授权信息后即可完成H5页面的授权。如此,H5页面的授权操作统一由原生小程序控制,确保授权的唯一性,在保证安全性的情况下,无需用户重复输入授权信息,用户体验更好。而且,H5页面只需负责发起授权请求并监听消息做出对应业务处理即可,无需对授权状态做额外的处理,减少代码量的同时也有更好的兼容性。
具体举例来说,当H5页面需要获取定位权限时,通过pajk-archery通道(目标通信通道)与第一服务端建立通道连接。根据当前需要定位授权的信息,封装请求消息体(授权请求),通过pajk-archery通道发送上行消息给第一服务端。第一服务端在接收到授权请求时把该授权请求通过pajk-archery通道转发给原生小程序,当小程序接收到该授权请求时展示H5页面对应授权申请窗口。用户授权操作后,小程序把原生获取到的用户定位信息通过pajk-archery通道发送给第一服务端,服务器接收到该用户定位信息后再通过pajk-archery通道把内容转发给H5页面。H5页面监听第一服务端下行消息,通过唯一标识fromId,确认该消息对应操作节点,解析消息体数据得到用户,进行后续业务逻辑处理。
需要说明的是,第一操作包括但不限于点击操作、按键操作、指纹输入操作、滑动操作、按压操作。按键操作包括但不限于对客户端的电源键、音量键、主菜单键的单击操作、双击操作、长按操作或组合按键操作等,本申请实施例对用户操作的方式不作具体限定,可为任一可实现的方式。
在本申请的一些实施例中,步骤108,也即第一服务端通过目标通信通道将用户授权信息发送至第二服务端之后,具体包括如下步骤:
步骤108-1,对用户授权信息进行有效性验证,得到验证结果;
步骤108-2,若验证结果为验证通过,将用户授权信息发送至第二服务端。
在该实施例中,有效性验证可以确保用户授权信息的真实性和合法性。通过验证用户授权信息,确保用户身份的真实性,防止了未经授权的用户访问系统或执行敏感操作,从而提高系统的安全性,而且可以防止未经授权的个人或机构获取用户敏感信息,保护用户的隐私权。
具体地,有效性验证包括:验证数字证书是否过期,验证密钥用途是否符合要求,验证标识符(如,token)是否存在于特定的数据存储中,验证标识符的时效性,验证标识符的合法性等。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本申请实施例提供的H5页面的授权方法,可应用在有客户端、第一服务端和第二服务端的应用环境中,其中,第一服务端通过网络与客户端和第二服务端进行通信。客户端可以但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。第一服务端和第二服务端可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一实施例中,提供一种H5页面的授权装置,该H5页面的授权装置与上述实施例中H5页面的授权方法一一对应。如图4所示,该H5页面的授权装置包括构建模块401、通信模块402、授权管理模块403。各功能模块详细说明如下:
构建模块401,用于构建目标通信通道,其中,目标通信通道用于连接小程序的客户端和第一服务端,以及连接第一服务端和H5页面的第二服务端;
通信模块402,用于接收第一服务端通过目标通信通道发送的小程序对应的H5页面的授权请求,其中,授权请求由对H5页面的第一操作触发产生;
授权管理模块403,用于检测H5页面的授权指示状态;以及,若H5页面处于允许授权状态,调取小程序的用户授权信息;
通信模块402,还用于通过目标通信通道将用户授权信息发送至第一服务端,以使第一服务端通过目标通信通道将用户授权信息转发至第二服务端。
在一实施例中,H5页面的授权装置还包括:第一展示模块(图中未示出),:第一展示模块用于若H5页面处于未允许授权状态,展示H5页面的授权申请窗口;授权管理模块403,用于响应于对授权申请窗口的第二操作,将H5页面的授权指示状态变更为允许授权状态。
在一实施例中,授权管理模块403,用于若H5页面处于允许授权状态的持续时长大于预设时长,将H5页面的授权指示状态变更为未允许授权状态。
在一实施例中,授权管理模块403,还用于获取H5页面的授权列表,其中,授权列表包括至少一个处于允许授权状态的H5页面的通信标识;若授权列表中通信标识的数量大于预设数量,将授权列表中符合预设清理规则的第一H5页面的授权指示状态变更为未允许授权状态,并将第一H5页面的通信标识从授权列表中移除。
在一实施例中,授权管理模块403,还用于响应于小程序的启动指令,检测小程序的用户授权状态;通信模块402,还用于若小程序的处于授权登陆状态,连通目标通信通道;H5页面的授权装置还包括:第二展示模块(图中未示出),第二展示模块用于若小程序的处于未授权状态,展示授权登陆窗口;授权管理模块403,还用于响应于对授权登陆窗口的第三操作,获取并存储用户授权信息;通信模块402,还用于通过目标通信通道将用户授权信息发送至第一服务端,以使第一服务端完成对小程序的授权登录。
在一实施例中,通信模块402,还用于若目标通信通道处于连通状态,按照预设周期通过目标通信通道向第一服务端发送心跳信息;若在预设时段内未接收到第一服务端发送的心跳响应信息,执行目标通信通道的重连操作;若重连操作失败,断开目标通信通道。
在一实施例中,提供一种H5页面的授权装置,该H5页面的授权装置与上述实施例中H5页面的授权方法一一对应。如图5所示,该H5页面的授权装置包括构建模块501、通信模块502。各功能模块详细说明如下:
构建模块501,用于构建目标通信通道,目标通信通道用于连接小程序的客户端和第一服务端,以及连接第一服务端与小程序对应的H5页面的第二服务端;
通信模块502,用于通过目标通信通道接收对H5页面的第一操作触发产生的授权请求;以及,通过目标通信通道将授权请求发送至小程序的客户端,以使客户端在H5页面处于允许授权状态的情况下,调取小程序的用户授权信息;以及,接收小程序的客户端通过目标通信通道发送的用户授权信息;以及,通过目标通信通道将用户授权信息发送至第二服务端,以使第二服务端完成对H5页面的授权。
在一实施例中,H5页面的授权装置还包括:验证模块(图中未示出),验证模块用于对用户授权信息进行有效性验证,得到验证结果;通信模块502,具体用于若验证结果为验证通过,将用户授权信息发送至第二服务端。
本申请提供了一种H5页面的授权装置,预先部署目标通信通道,以连通小程序的客户端和第一服务端,以及第一服务端和H5页面。当小程序内嵌的H5页面发起授权请求时,H5页面的第二服务端将授权请求通过目标通信通道发送至第一服务端,再由第一服务端通过目标通信通道转发至客户端。客户端接收到授权请求后,获取该H5页面的授权指示状态,以判断近期内用户是否已经授权小程序对H5页面进行授权。当检测到该H5页面处于允许授权状态,也即用户曾经授权小程序对H5页面进行授权,客户端调取用于授权登录小程序的用户授权信息,并通过目标通信通道将用户授权信息发送至第一服务端,再由第一服务端将用户授权信息通过目标通信通道返回第二服务端。第二服务端获得用户授权信息后即可完成H5页面的授权。如此,H5页面的授权操作统一由原生小程序控制,确保授权的唯一性,在保证安全性的情况下,无需用户重复输入授权信息,用户体验更好。而且,H5页面只需负责发起授权请求并监听消息做出对应业务处理即可,无需对授权状态做额外的处理,减少代码量的同时也有更好的兼容性。
关于H5页面的授权装置的具体限定可以参见上文中对于H5页面的授权方法的限定,在此不再赘述。上述H5页面的授权装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:构建目标通信通道,其中,目标通信通道用于连接小程序的客户端和第一服务端,以及连接第一服务端和H5页面的第二服务端;接收第一服务端通过目标通信通道发送的小程序对应的H5页面的授权请求,其中,授权请求由对H5页面的第一操作触发产生;检测H5页面的授权指示状态;若H5页面处于允许授权状态,调取小程序的用户授权信息;通过目标通信通道将用户授权信息发送至第一服务端,以使第一服务端通过目标通信通道将用户授权信息转发至第二服务端。或构建目标通信通道,目标通信通道用于连接小程序的客户端和第一服务端,以及连接第一服务端与小程序对应的H5页面的第二服务端;通过目标通信通道接收对H5页面的第一操作触发产生的授权请求;通过目标通信通道将授权请求发送至小程序的客户端,以使客户端在H5页面处于允许授权状态的情况下,调取小程序的用户授权信息;接收小程序的客户端通过目标通信通道发送的用户授权信息;通过目标通信通道将用户授权信息发送至第二服务端,以使第二服务端完成对H5页面的授权。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:构建目标通信通道,其中,目标通信通道用于连接小程序的客户端和第一服务端,以及连接第一服务端和H5页面的第二服务端;接收第一服务端通过目标通信通道发送的小程序对应的H5页面的授权请求,其中,授权请求由对H5页面的第一操作触发产生;检测H5页面的授权指示状态;若H5页面处于允许授权状态,调取小程序的用户授权信息;通过目标通信通道将用户授权信息发送至第一服务端,以使第一服务端通过目标通信通道将用户授权信息转发至第二服务端。或构建目标通信通道,目标通信通道用于连接小程序的客户端和第一服务端,以及连接第一服务端与小程序对应的H5页面的第二服务端;通过目标通信通道接收对H5页面的第一操作触发产生的授权请求;通过目标通信通道将授权请求发送至小程序的客户端,以使客户端在H5页面处于允许授权状态的情况下,调取小程序的用户授权信息;接收小程序的客户端通过目标通信通道发送的用户授权信息;通过目标通信通道将用户授权信息发送至第二服务端,以使第二服务端完成对H5页面的授权。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是客户端或服务端。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部服务器通过网络连接通信。该计算机程序被处理器执行时以实现一种H5页面的授权方法的功能或步骤。
需要说明的是,上述关于计算机可读存储介质或计算机设备所能实现的功能或步骤,可对应参阅前述方法实施例中,H5页面的授权方法的相关描述,为避免重复,这里不再一一描述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种H5页面的授权方法,其特征在于,包括:
构建目标通信通道,其中,所述目标通信通道用于连接小程序的客户端和第一服务端,以及连接所述第一服务端和所述小程序对应的H5页面的第二服务端;
接收所述第一服务端通过所述目标通信通道发送的所述H5页面的授权请求,其中,所述授权请求由对所述H5页面的第一操作触发产生;
检测所述H5页面的授权指示状态;
若所述H5页面处于允许授权状态,调取所述小程序的用户授权信息;
通过所述目标通信通道将所述用户授权信息发送至所述第一服务端,以使所述第一服务端通过所述目标通信通道将所述用户授权信息转发至所述H5页面的第二服务端。
2.根据权利要求1所述的H5页面的授权方法,其特征在于,所述H5页面的授权方法还包括:
若所述H5页面处于未允许授权状态,展示所述H5页面的授权申请窗口;
响应于对所述授权申请窗口的第二操作,将所述H5页面的授权指示状态变更为允许授权状态。
3.根据权利要求1所述的H5页面的授权方法,其特征在于,所述H5页面的授权方法还包括:
若所述H5页面处于允许授权状态的持续时长大于预设时长,将所述H5页面的授权指示状态变更为未允许授权状态。
4.根据权利要求1所述的H5页面的授权方法,其特征在于,所述H5页面的授权方法还包括:
获取所述H5页面的授权列表,其中,所述授权列表包括至少一个处于允许授权状态的所述H5页面的通信标识;
若所述授权列表中所述通信标识的数量大于预设数量,将所述授权列表中符合预设清理规则的第一H5页面的授权指示状态变更为未允许授权状态,并将所述第一H5页面的通信标识从所述授权列表中移除。
5.根据权利要求1所述的H5页面的授权方法,其特征在于,所述H5页面的授权方法还包括:
响应于所述小程序的启动指令,检测所述小程序的用户授权状态;
若所述小程序的处于授权登陆状态,连通所述目标通信通道;
若所述小程序的处于未授权状态,展示授权登陆窗口;
响应于对所述授权登陆窗口的第三操作,获取并存储所述用户授权信息;
通过所述目标通信通道将所述用户授权信息发送至所述第一服务端,以使所述第一服务端完成对所述小程序的授权登录。
6.根据权利要求1所述的H5页面的授权方法,其特征在于,所述H5页面的授权方法还包括:
若所述目标通信通道处于连通状态,按照预设周期通过所述目标通信通道向所述第一服务端发送心跳信息;
若在所述预设时段内未接收到所述第一服务端发送的心跳响应信息,执行所述目标通信通道的重连操作;
若所述重连操作失败,断开所述目标通信通道。
7.一种H5页面的授权方法,其特征在于,包括:
构建目标通信通道,所述目标通信通道用于连接小程序的客户端和第一服务端,以及连接所述第一服务端与所述小程序对应的H5页面的第二服务端;
通过所述目标通信通道接收对所述H5页面的第一操作触发产生的授权请求;
通过所述目标通信通道将所述授权请求发送至所述小程序的客户端,以使所述客户端在所述H5页面处于允许授权状态的情况下,调取所述小程序的用户授权信息;
接收所述小程序的客户端通过所述目标通信通道发送的所述用户授权信息;
通过所述目标通信通道将所述用户授权信息发送至所述第二服务端,以使所述第二服务端完成对所述H5页面的授权。
8.根据权利要求7所述的H5页面的授权方法,其特征在于,所述将所述用户授权信息发送至所述第二服务端,包括:
对所述用户授权信息进行有效性验证,得到验证结果;
若所述验证结果为验证通过,将所述用户授权信息发送至所述第二服务端。
9.一种H5页面的授权装置,其特征在于,包括:
构建模块,用于构建目标通信通道,其中,所述目标通信通道用于连接所述小程序的客户端和第一服务端,以及连接所述第一服务端和所述小程序对应的H5页面的第二服务端;
通信模块,用于接收所述第一服务端通过所述目标通信通道发送的所述H5页面的授权请求,其中,所述授权请求由对所述H5页面的第一操作触发产生;
授权管理模块,用于检测所述H5页面的授权指示状态;以及,
若所述H5页面处于允许授权状态,调取所述小程序的用户授权信息;
所述通信模块,还用于通过所述目标通信通道将所述用户授权信息发送至所述第一服务端,以使所述第一服务端通过所述目标通信通道将所述用户授权信息转发至所述第二服务端。
10.一种H5页面的授权装置,其特征在于,包括:
构建模块,用于构建目标通信通道,所述目标通信通道用于连接小程序的客户端和第一服务端,以及连接所述第一服务端与所述小程序对应的H5页面的第二服务端;
通信模块,用于通过所述目标通信通道接收对所述H5页面的第一操作触发产生的授权请求;以及,
通过所述目标通信通道将所述授权请求发送至所述小程序的客户端,以使所述客户端在所述H5页面处于允许授权状态的情况下,调取所述小程序的用户授权信息;以及,
接收所述小程序的客户端通过所述目标通信通道发送的所述用户授权信息;以及,
将所述用户授权信息发送至所述第二服务端,以使所述第二服务端完成对所述H5页面的授权。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311139143.6A CN117240677A (zh) | 2023-09-04 | 2023-09-04 | H5页面的授权方法和h5页面的授权装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311139143.6A CN117240677A (zh) | 2023-09-04 | 2023-09-04 | H5页面的授权方法和h5页面的授权装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117240677A true CN117240677A (zh) | 2023-12-15 |
Family
ID=89081732
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311139143.6A Pending CN117240677A (zh) | 2023-09-04 | 2023-09-04 | H5页面的授权方法和h5页面的授权装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117240677A (zh) |
-
2023
- 2023-09-04 CN CN202311139143.6A patent/CN117240677A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9769155B2 (en) | Login method and apparatus, and open platform system | |
US8453224B2 (en) | Single sign-on authentication | |
CN106341234B (zh) | 一种授权方法及装置 | |
US11050740B2 (en) | Third party multi-factor authentication with push notifications | |
US20180091355A1 (en) | Single sign-on system and single sign-on method | |
CN112965955B (zh) | 数据迁移方法、装置、计算机设备和存储介质 | |
US11025635B2 (en) | Secure remote support authorization | |
CN112434054A (zh) | 一种审计日志的更新方法及装置 | |
US20090249461A1 (en) | Business management system | |
CN112929388B (zh) | 网络身份跨设备应用快速认证方法和系统、用户代理设备 | |
CN112202813B (zh) | 网络访问方法及装置 | |
CN112560006A (zh) | 一种多应用系统下的单点登录方法和系统 | |
CN104113511A (zh) | 一种接入ims网络的方法、系统及相关装置 | |
CN114866247B (zh) | 一种通信方法、装置、系统、终端及服务器 | |
CN117240677A (zh) | H5页面的授权方法和h5页面的授权装置 | |
CN112597118B (zh) | 一种共享文件的添加方法及装置 | |
CN112543194B (zh) | 移动终端登录方法、装置、计算机设备和存储介质 | |
CN111371643B (zh) | 验证方法、设备及存储介质 | |
JP4712989B2 (ja) | 情報配信サーバー装置 | |
CN113468579A (zh) | 数据访问方法、装置、设备和存储介质 | |
CN113051035A (zh) | 一种远程控制方法、装置、系统及宿主机 | |
CN113536365A (zh) | 一种文件访问方法、装置、设备及介质 | |
CN113765876A (zh) | 报表处理软件的访问方法和装置 | |
JP2018037025A (ja) | プログラム、認証システム及び認証連携システム | |
CN112260997A (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 |