一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于混合模式的应用登录方法、装置、设备及存储介质与流程

2022-12-19 21:04:20 来源:中国专利 TAG:


1.本发明涉及研发管理领域,尤其涉及一种基于混合模式的应用登录方法、装置、设备及存储介质。


背景技术:

2.基于混合模式的应用登录是指用户登录基于原生应用及网页应用混合开发的移动应用,其中,原生应用可以为native-app即桌面应用;网页应用可以为web-app即网页;移动应用可以通过将原生应用作为外壳,内部嵌套网页应用所得。
3.传统的应用登录方法一般是通过在原生应用页面上携带账号秘密向服务器请求登录,服务器验证账号密码通过返回登录令牌,向网页应用发送登录令牌,服务器接收网页应用携带登录令牌发出的登录请求,并在验证登录令牌有效时,响应登录请求。但是,这种方法存在两个问题,一方面,由于原生应用及网页应用对应的服务器必须为同一个服务器,无法将一些比较复杂的大型应用拆分为多个微服务进行维护,使得混合应用较难维护;另一方面,对于一些外部的网页应用,也有可能获取原生应用的登录令牌,使得服务器容易受到攻击,导致应用登录的安全性较差。


技术实现要素:

4.本发明提供一种基于混合模式的应用登录方法、装置、设备及存储介质,其主要目的是降低混合应用的维护难度并提高应用登录的安全性。
5.为实现上述目的,本发明提供了一种基于混合模式的应用登录方法,包括:
6.获取原生应用、网页应用、原生服务端及网页服务端,并接收用户对所述原生应用发出的第一登录请求,利用所述原生服务端对所述第一登录请求进行验证,在所述验证通过时,生成所述第一登录请求的用户标识信息;
7.将所述网页应用注册到所述原生服务端上,得到注册网页应用,并创建所述注册网页应用与所述原生应用之间的通信链接通道;
8.接收所述注册网页应用向所述原生应用发起的第二登录请求,并根据所述第二登录请求将所述用户标识信息发送至所述原生服务端进行二次验证,在所述二次验证通过时,利用所述原生服务端生成所述注册网页应用的登录验证码,并将所述登录验证码通过所述通信链接通道传输至所述注册网页应用中;
9.利用所述网页服务端将所述登录验证码发送至所述原生服务端进行验证码验证,在所述登录验证码验证通过时,得到最终标识信息,并将所述最终标识信息传输至所述注册网页应用中,根据所述最终标识信息登录所述注册网页应用。
10.可选地,所述将所述网页应用注册到所述原生服务端上,得到注册网页应用,包括:
11.获取所述网页应用的网页域名,并接收所述网页应用发出的注册申请;
12.根据所述网页域名及所述注册申请触发所述原生服务端向所述网页应用分配注
册标识信息;
13.将所述注册标识信息嵌入所述网页应用中,得到所述注册网页应用。
14.可选地,所述根据所述第二登录请求将所述用户标识信息发送至所述原生服务端进行二次验证,包括:
15.根据所述第二登录请求获取所述用户标识信息的签发时间及签发过期时间;
16.判断所述签发时间是否大于所述签发过期时间,在所述签发时间不大于所述签发过期时间时,确定所述用户标识信息未过期;
17.验证所述用户标识信息中的第一登录请求签名是否为所述原生服务端签发的;
18.当所述第一登录请求签名不为所述原生服务端签发时,确定所述用户标识信息验证未通过;
19.当所述第一登录请求签名为所述原生服务端签发时,确定所述用户标识信息验证通过。
20.可选地,所述创建所述注册网页应用与所述原生应用之间的通信链接通道,包括:
21.接收所述注册网页应用向所述原生应用发出的通信请求,根据所述通信请求利用所述原生应用向所述注册网页应用注入链接接口,利用预设的网页调用函数从所述链接接口调用原生应用,得到调用结果;
22.判断所述调用结果是否调用成功;
23.当所述调用结果调用失败时,确定所述注册网页应用与所述原生应用之间未形成所述通信链接通道;
24.当所述调用结果调用成功时,确定所述注册网页应用与所述原生应用之间形成所述通信链接通道。
25.可选地,所述利用所述原生服务端对所述第一登录请求进行验证,包括:
26.利用所述原生服务端存储所述第一登录请求中的用户登录账号及用户登录密码,并标记所述用户登录账号及所述用户登录密码为第一用户账号及第一用户密码,其中,所述第一登录请求包括用户登录账号及用户登录密码;
27.将所述第一登录请求中的用户登录账号及用户登录密码与所述第一用户账号及所述第一用户密码进行对比;
28.当所述用户登录账号及所述用户登录密码与所述第一用户账号及所述第一用户密码一致时,确定所述第一登录请求验证通过;
29.当所述用户登录账号及所述用户登录密码与所述第一用户账号及所述第一用户密码中的一个不一致时,确定所述第一登录请求验证未通过。
30.可选地,所述生成所述第一登录请求的用户标识信息,包括:
31.将所述第一登录请求信息拆分为荷载信息及头部信息;
32.将所述荷载信息及所述头部信息进行加密,得到加密荷载密文及加密头部密文;
33.将所述加密荷载密文及所述加密头部密文进行连接,得到连接密文,并利用预设的私钥将所述连接密文进行二次加密,生成第一登录请求签名;
34.将所述连接密文及所述第一登录请求签名进行二次连接,输出所述用户标识信息。
35.可选地,所述利用所述原生服务端生成所述注册网页应用的登录验证码,包括:
36.利用所述原生服务端生成所述注册网页应用验证随机数;
37.获取所述验证随机数的索引位置,根据所述索引位置选取所述注册网页应用的登录验证码。
38.为了解决上述问题,本发明还提供一种基于混合模式的应用登录装置,所述装置包括:
39.第一登录请求验证模块,用于获取原生应用、网页应用、原生服务端及网页服务端,并接收用户对所述原生应用发出的第一登录请求,利用所述原生服务端对所述第一登录请求进行验证,在所述验证通过时,生成所述第一登录请求的用户标识信息;
40.网页应用注册模块,用于将所述网页应用注册到所述原生服务端上,得到注册网页应用,并创建所述注册网页应用与所述原生应用之间的通信链接通道;
41.用户标识信息验证模块,用于接收所述注册网页应用向所述原生应用发起的第二登录请求,并根据所述第二登录请求将所述用户标识信息发送至所述原生服务端进行二次验证,在所述二次验证通过时,利用所述原生服务端生成所述注册网页应用的登录验证码,并将所述登录验证码通过所述通信链接通道传输至所述注册网页应用中;
42.应用登录模块,用于利用所述网页服务端将所述登录验证码发送至所述原生服务端进行验证码验证,在所述登录验证码验证通过时,得到最终标识信息,并将所述最终标识信息传输至所述注册网页应用中,根据所述最终标识信息登录所述注册网页应用。
43.为了解决上述问题,本发明还提供一种电子设备,所述电子设备包括:
44.存储器,存储至少一个计算机程序;及
45.处理器,执行所述存储器中存储的计算机程序以实现上述所述的基于混合模式的应用登录方法。
46.为了解决上述问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个计算机程序,所述至少一个计算机程序被电子设备中的处理器执行以实现上述所述的基于混合模式的应用登录方法。
47.本发明实施例中,首先通过接收用户对所述原生应用发出的第一登录请求,利用所述原生服务端对所述第一登录请求进行验证,可以判断第一登录请求是否为伪造的指令,初步加强用户身份信息保护,在所述验证通过时,生成所述第一登录请求的用户标识信息;其次,通过将所述网页应用注册到所述原生服务端上,得到注册网页应用,可以防止非法网页应用获取用户标识信息,并创建所述注册网页应用与所述原生应用之间的通信链接通道,实现注册网页应用与原生应用的交互;进一步地,通过根据所述第二登录请求将所述用户标识信息发送至所述原生服务端进行二次验证,可以进一步验证了用户身份的合法性,并加强了对用户身份的第二重保护,防止在后续网页应用与原生应用的交互中被他人窃取;最后,通过利用所述网页服务端将所述登录验证码发送至所述原生服务端进行验证码验证,可以验证注册网页应用的合法性,进一步保护用户信息,同时结合网页服务端即原生服务端的应用以降低混合应用的维护难度,在所述登录验证码验证通过时,得到最终标识信息,根据所述最终标识信息登录所述注册网页应用,提高了应用登录的安全性。因此本发明实施例提出的基于混合模式的应用登录方法、装置、设备及存储介质可以降低混合应用的维护难度并提高应用登录的安全性。
附图说明
48.图1为本发明一实施例提供的基于混合模式的应用登录方法的流程示意图;
49.图2为本发明一实施例提供的基于混合模式的应用登录方法中一个步骤的详细流程示意图;
50.图3为本发明一实施例提供的基于混合模式的应用登录方法中一个步骤的详细流程示意图;
51.图4为本发明一实施例提供的基于混合模式的应用登录装置的模块示意图;
52.图5为本发明一实施例提供的实现基于混合模式的应用登录方法的电子设备的内部结构示意图;
53.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
54.应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
55.本发明实施例提供一种基于混合模式的应用登录方法。所述基于混合模式的应用登录方法的执行主体包括但不限于服务端、终端等能够被配置为执行本技术实施例提供的该方法的电子设备中的至少一种。换言之,所述基于混合模式的应用登录方法可以由安装在终端设备或服务端设备的软件或硬件来执行,所述软件可以是区块链平台。所述服务端包括但不限于:单台服务器、服务器集群、云端服务器或云端服务器集群等。
56.参照图1所示的本发明一实施例提供的基于混合模式的应用登录方法的流程示意图,在本发明实施例中,所述基于混合模式的应用登录方法包括以下步骤s1-s4:
57.s1、获取原生应用、网页应用、原生服务端及网页服务端,并接收用户对所述原生应用发出的第一登录请求,利用所述原生服务端对所述第一登录请求进行验证,在所述验证通过时,生成所述第一登录请求的用户标识信息。
58.本发明实施例中,所述原生应用是指基于本地操作系统运行的桌面应用,可以基于不同的业务场景确定不同的原生应用,比如,针对金融服务开发的金融app或针对保险服务开发的保险app;所述网页应用是指基于本地操作系统运行的网页,也可以基于不同的业务场景确定不同的网页应用,比如,通过浏览器打开的金融小程序或保险交易服务小程序等;其中,所述原生应用可以通过不同的平台语言(如java android、objective-c(ios))开发所得;所述网页应用可以通过html、css或javascript开发所得。
59.本发明实施例中,所述第一登录请求可以为用户对原生应用发出的登录请求,其中,所述第一登录请求包括用户id登录账号及用户登录密码;所述用户标识信息是指原生服务器对登录请求验证后返回的用户身份标识令牌,且该令牌是由固定的字符串组成的加密密文。
60.本发明实施例通过获取原生应用、网页应用、原生服务端及网页服务端,并接收用户对所述原生应用发出的第一登录请求,利用所述原生服务端将所述第一登录请求进行验证,可以判断第一登录请求是否为伪造的指令,初步加强用户身份信息保护。
61.作为本发明的一个实施例,所述利用所述原生服务端对所述第一登录请求进行验证,包括:
62.利用所述原生服务端存储所述第一登录请求中的用户登录账号及用户登录密码,
并标记所述用户登录账号及所述用户登录密码为第一用户账号及第一用户密码,其中,所述第一登录请求包括用户登录账号及用户登录密码;将所述第一登录请求中的用户登录账号及用户登录密码与所述第一用户账号及所述第一用户密码进行对比;当所述用户登录账号及所述用户登录密码与所述第一用户账号及所述第一用户密码一致时,确定所述第一登录请求验证通过;当所述用户登录账号及所述用户登录密码与所述第一用户账号及所述第一用户密码中的一个不一致时,确定所述第一登录请求验证未通过。
63.其中,所述用户登录账号可以为9位数的字符串,所述用户登录密码可以为字母与数字组合的不低于11位数不高于16位数的字符串,通过将所述第一登录请求中的用户登录账号及用户登录密码与所述第一用户账号及所述第一用户密码进行对比,可以确定第一登录请求的验证结果,以提高后续应用登录的安全性。
64.进一步地,所述生成所述第一登录请求的用户标识信息,包括:
65.将所述第一登录请求信息拆分为荷载信息及头部信息;将所述荷载信息及所述头部信息进行加密,得到加密荷载密文及加密头部密文;将所述加密荷载密文及所述加密头部密文进行连接,得到连接密文,并利用预设的私钥将所述连接密文进行二次加密,生成第一登录请求签名;将所述连接密文及所述第一登录请求签名进行二次连接,输出所述用户标识信息。
66.其中,所述荷载信息可以表示为payload信息,主要作用是存储第一登录请求的有效信息;所述头部信息可以表示为header信息,主要作用是存储第一登录请求的请求类型;所述加密可以为base64加密。
67.本发明一实施例中,可以通过句号链接将所述加密荷载密文及所述加密头部密文进行连接;所述二次加密方法可以为hs256加密,通过hs256加密可以第一登录请求签名,最终,再通过句号链接将所述连接密文及所述第一登录请求签名进行二次连接形成用户标识信息(即token)。
68.s2、将所述网页应用注册到所述原生服务端上,得到注册网页应用,并创建所述注册网页应用与所述原生应用之间的通信链接通道。
69.本发明实施例中,所述注册网页应用是指在原生服务端中完成注册的网页应用,主要作用是保障网页应用的合法性,防止非法网页应用获取信息;所述通信链接通道是指注册网页应用与原生应用之间形成的一条长链接通道,通过该通道可以实现注册网页应用与原生应用的交互。
70.本发明实施例通过将所述网页应用注册到所述原生服务端上,得到注册网页应用,并创建所述注册网页应用及所述原生应用的通信链接通道,可以防止非法网页应用获取用户标识信息,并实现注册网页应用与原生应用的交互。
71.作为本发明的一个实施例,参考图2所示,所述将所述网页应用注册到所述原生服务端上,得到注册网页应用,包括以下步骤s21-s23:
72.s21、获取所述网页应用的网页域名,并接收所述网页应用发出的注册申请;
73.s22、根据所述网页域名及所述注册申请触发所述原生服务端向所述网页应用分配注册标识信息;
74.s23、将所述注册标识信息嵌入所述网页应用中,得到所述注册网页应用。
75.其中,所述网页域名是指由一串点分隔的字符组成的用以表示网页的名称,主要
用于在数据传输时对网页的定位标识;所述注册申请是指网页应用向原生服务端发出的注册申请;所述分配注册标识信息是指网页应用id(即web-appid)及网页应用密码(即web-appsecret),且web-appsecret只有原生服务端及网页服务端知道,便于后续网页服务端验证网页应用的合法性,以保障用户登录信息的信息安全。
76.本发明一实施例中,网页域名、web-appid及web-appsecret相互关联,形成注册网页应用。
77.进一步地,所述创建所述注册网页应用与所述原生应用之间的通信链接通道,包括:
78.接收所述注册网页应用向所述原生应用发出的通信请求,根据所述通信请求利用所述原生应用向所述注册网页应用注入链接接口,利用预设的网页调用函数从所述链接接口调用原生应用,得到调用结果;判断所述调用结果是否调用成功;当所述调用结果调用失败时,确定所述注册网页应用与所述原生应用之间未形成所述通信链接通道;当所述调用结果调用成功时,确定所述注册网页应用与所述原生应用之间形成所述通信链接通道。
79.其中,所述预设的网页调用函数可以为socket()函数,通过调用socket()函数,可以从链接接口中调用原生应用,进一步地,判断所述调用结果是否调用成功可以通过判断调用注册网页应用的socket()函数与原生应用是否通信成功,当通信成功,说明通信链接通道已形成,当通信未成功,说明通过链接通道未形成。
80.s3、接收所述注册网页应用向所述原生应用发起的第二登录请求,并根据所述第二登录请求将所述用户标识信息发送至所述原生服务端进行二次验证,在所述二次验证通过时,利用所述原生服务端生成所述注册网页应用的登录验证码,并将所述登录验证码通过所述通信链接通道传输至所述注册网页应用中。
81.本发明实施例中,所述第二登录请求是指注册网页应用向原生应用发出的登录请求,其中,所述登录请求包括请求地址、请求对象及注册网页应用的网页域名。所述登录验证码是指登录系统或网页时随机产生的一串数字或符号,主要作用是通过验证码验证才可以实现系统或网页的登录,进一步保护应用登录的安全性。
82.本发明实施例通过接收所述注册网页应用向所述原生应用发起的第二登录请求,并根据所述第二登录请求将所述用户标识信息发送至所述原生服务端进行二次验证,在所述二次验证通过时,利用所述原生服务端生成所述注册网页应用的登录验证码,并将所述登录验证码通过所述通信链接通道传输至所述注册网页应用中,可以进一步验证了用户身份的合法性,并加强了对用户身份的第二重保护,防止在后续网页应用与原生应用的交互中被他人窃取。
83.作为我本发明的一个实施例,参考图3所示,所述根据所述第二登录请求将所述用户标识信息发送至所述原生服务端进行二次验证,包括以下步骤s31-s35:
84.s31、根据所述第二登录请求获取所述用户标识信息的签发时间及签发过期时间;
85.s32、判断所述签发时间是否大于所述签发过期时间,在所述签发时间不大于所述签发过期时间时,确定所述用户标识信息未过期;
86.s33、验证所述用户标识信息中的第一登录请求签名是否为所述原生服务端签发的;
87.s34、当所述第一登录请求签名不为所述原生服务端签发时,确定所述用户标识信
息验证未通过;
88.s35、当所述第一登录请求签名为所述原生服务端签发时,确定所述用户标识信息验证通过。
89.其中,所述签发时间即为token的签发时间;所述签发过期时间即为token的过期时间,通过判断所述签发时间是否大于所述签发过期时间,可以识别token的合法性,当所述签发时间大于所述签发过期时间时,说明token已过期,此时需要原生服务端重新生成第一登录请求的新token;当所述签发时间不大于所述签发过期时间时,说明token未过期。
90.本发明一实施例中,可以通过验证所述用户标识信息中的第一登录请求签名是否为所述原生服务端签发的,进一步保证token的合法性,防止token中途被篡改盗用,可以便于加强后续登录的安全保护。
91.进一步地,所述利用所述原生服务端生成所述注册网页应用的登录验证码,包括:
92.利用所述原生服务端生成所述注册网页应用验证随机数;获取所述验证随机数的索引位置,根据所述索引位置选取所述注册网页应用的登录验证码。
93.其中,所述验证随机数是指由数字或字母组长的一串验证字符,该验证字符的长度可以为4-6位数。
94.进一步地,所述验证随机数可通过下述公式生成:
95.x
n 1
=(axn c)*modm
96.其中,x
n 1
表示第n 1个伪随机序列;xn表示第n个伪随机序列;a表示乘数;c表示增量;modm表示余下的模量。
97.本发明一实施例中,所述索引位置主要用来描述每个随机数的位置,通过索引位置可以直接利用get函数选取所述注册网页应用的登录验证码。
98.s4、利用所述网页服务端将所述登录验证码发送至所述原生服务端进行验证码验证,在所述登录验证码验证通过时,得到最终标识信息,并将所述最终标识信息传输至所述注册网页应用中,根据所述最终标识信息登录所述注册网页应用。
99.本发明实施例中,所述最终标识信息是指在登录注册网页应用时的登录标识令牌。
100.本发明实施例通过利用所述网页服务端将所述登录验证码发送至所述原生服务端进行验证码验证,在所述登录验证码验证通过时,得到最终标识信息,并将所述最终标识信息传输至所述注册网页应用中,根据所述最终标识信息登录所述注册网页应用,可以验证注册网页应用的合法性,进一步保护用户信息,同时结合网页服务端即原生服务端的应用,解决由于原生应用及网页应用对应的服务器必须为同一个服务器导致混合应用维护的难度较大的问题,并提高应用登录的安全性。
101.本发明一可选实施例中,在进行验证码验证之前,利用所述原生服务端将所述注册网页应用进行合法性验证,即验证注册网页的网页应用密码(即web-appsecret)是否被篡改,由于web-appsecret只有原生服务端及网页服务端知道,所以通过验证web-appsecret是否被篡改,可以实现注册网页应用的合法性验证,防止用户信息泄露。
102.本发明一实施例中,所述验证码验证可以通过将登录验证码存储至预设的对象(如session)中,将session中的登录验证码同注册网页应用的登录验证码进行对比,当session中的登录验证码同注册网页登录验证码一致时,说明登录验证码通过;当显示未填
写登录验证码或登录验证错误时,说明登录验证码验证未通过。
103.进一步地,在所述登录验证码验证通过时,利用原生服务端存储的web-appid与登录验证码相关联web-appid进行对比,在对比一致时,将登录验证码与用户id相关联,得到用户id及用户相关信息(即userinfo),并将用户id及用户相关信息发送至中注册网页应用,当注册网页应用接收到用户id及userinfo,生成注册网页应用的登录标识令牌,该登录标识令牌即为最终标识信息。
104.本发明实施例中,所述根据所述最终标识信息登录所述注册网页应用,包括:
105.将所述最终标识信息传输至网页客户端中,利用所述网页客户端将所述最终标识信息与用户id相关联,得到登录态,通过所述登录态登录所述网页应用。
106.其中,所述登录态也指登录状态,主要作用是维持登录接口的登录状态,比如,将最终标识信息存储至登录接口中,则将登录接口返回的最终标识信息保存至网页客户端,实现登录态的维持。
107.本发明实施例中,首先通过接收用户对所述原生应用发出的第一登录请求,利用所述原生服务端对所述第一登录请求进行验证,可以判断第一登录请求是否为伪造的指令,初步加强用户身份信息保护,在所述验证通过时,生成所述第一登录请求的用户标识信息;其次,通过将所述网页应用注册到所述原生服务端上,得到注册网页应用,可以防止非法网页应用获取用户标识信息,并创建所述注册网页应用与所述原生应用之间的通信链接通道,实现注册网页应用与原生应用的交互;进一步地,通过根据所述第二登录请求将所述用户标识信息发送至所述原生服务端进行二次验证,可以进一步验证了用户身份的合法性,并加强了对用户身份的第二重保护,防止在后续网页应用与原生应用的交互中被他人窃取;最后,通过利用所述网页服务端将所述登录验证码发送至所述原生服务端进行验证码验证,可以验证注册网页应用的合法性,进一步保护用户信息,同时结合网页服务端即原生服务端的应用以降低混合应用的维护难度,在所述登录验证码验证通过时,得到最终标识信息,根据所述最终标识信息登录所述注册网页应用,提高了应用登录的安全。因此本发明实施例提出的基于混合模式的应用登录方法可以降低混合应用的维护难度并提高应用登录的安全性。
108.本发明所述基于混合模式的应用登录装置100可以安装于电子设备中。根据实现的功能,所述基于混合模式的应用登录装置可以包括第一登录请求验证模块101、网页应用注册模块102、用户标识信息验证模块103、应用登录模块104,本发明所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
109.在本实施例中,关于各模块/单元的功能如下:
110.所述第一登录请求验证模块101,用于获取原生应用、网页应用、原生服务端及网页服务端,并接收用户对所述原生应用发出的第一登录请求,利用所述原生服务端对所述第一登录请求进行验证,在所述验证通过时,生成所述第一登录请求的用户标识信息。
111.本发明实施例中,所述原生应用是指基于本地操作系统运行的桌面应用,可以基于不同的业务场景确定不同的原生应用,比如,针对金融服务开发的金融app或针对保险服务开发的保险app;所述网页应用是指基于本地操作系统运行的网页,也可以基于不同的业务场景确定不同的网页应用,比如,通过浏览器打开的金融小程序或保险交易服务小程序
等;其中,所述原生应用可以通过不同的平台语言(如java android、objective-c(ios))开发所得;所述网页应用可以通过html、css或javascript开发所得。
112.本发明实施例中,所述第一登录请求可以为用户对原生应用发出的登录请求,其中,所述第一登录请求包括用户id登录账号及用户登录密码;所述用户标识信息是指原生服务器对登录请求验证后返回的用户身份标识令牌,且该令牌是由固定的字符串组成的加密密文。
113.本发明实施例通过获取原生应用、网页应用、原生服务端及网页服务端,并接收用户对所述原生应用发出的第一登录请求,利用所述原生服务端将所述第一登录请求进行验证,可以判断第一登录请求是否为伪造的指令,初步加强用户身份信息保护。
114.作为本发明的一个实施例,所述第一登录请求验证模块101通过执行下述操作利用所述原生服务端对所述第一登录请求进行验证,包括:
115.利用所述原生服务端存储所述第一登录请求中的用户登录账号及用户登录密码,并标记所述用户登录账号及所述用户登录密码为第一用户账号及第一用户密码,其中,所述第一登录请求包括用户登录账号及用户登录密码;
116.将所述第一登录请求中的用户登录账号及用户登录密码与所述第一用户账号及所述第一用户密码进行对比;
117.当所述用户登录账号及所述用户登录密码与所述第一用户账号及所述第一用户密码一致时,确定所述第一登录请求验证通过;
118.当所述用户登录账号及所述用户登录密码与所述第一用户账号及所述第一用户密码中的一个不一致时,确定所述第一登录请求验证未通过。
119.其中,所述用户登录账号可以为9位数的字符串,所述用户登录密码可以为字母与数字组合的不低于11位数不高于16位数的字符串,通过将所述第一登录请求中的用户登录账号及用户登录密码与所述第一用户账号及所述第一用户密码进行对比,可以确定第一登录请求的验证结果,以提高后续应用登录的安全性。
120.进一步地,所述生成所述第一登录请求的用户标识信息,包括:
121.将所述第一登录请求信息拆分为荷载信息及头部信息;将所述荷载信息及所述头部信息进行加密,得到加密荷载密文及加密头部密文;将所述加密荷载密文及所述加密头部密文进行连接,得到连接密文,并利用预设的私钥将所述连接密文进行二次加密,生成第一登录请求签名;将所述连接密文及所述第一登录请求签名进行二次连接,输出所述用户标识信息。
122.其中,所述荷载信息可以表示为payload信息,主要作用是存储第一登录请求的有效信息;所述头部信息可以表示为header信息,主要作用是存储第一登录请求的请求类型;所述加密可以为base64加密。
123.本发明一实施例中,可以通过句号链接将所述加密荷载密文及所述加密头部密文进行连接;所述二次加密方法可以为hs256加密,通过hs256加密可以第一登录请求签名,最终,再通过句号链接将所述连接密文及所述第一登录请求签名进行二次连接形成用户标识信息(即token)。
124.所述网页应用注册模块102,用于将所述网页应用注册到所述原生服务端上,得到注册网页应用,并创建所述注册网页应用与所述原生应用之间的通信链接通道。
125.本发明实施例中,所述注册网页应用是指在原生服务端中完成注册的网页应用,主要作用是保障网页应用的合法性,防止非法网页应用获取信息;所述通信链接通道是指注册网页应用与原生应用之间形成的一条长链接通道,通过该通道可以实现注册网页应用与原生应用的交互。
126.本发明实施例通过将所述网页应用注册到所述原生服务端上,得到注册网页应用,并创建所述注册网页应用及所述原生应用的通信链接通道,可以防止非法网页应用获取用户标识信息,并实现注册网页应用与原生应用的交互。
127.作为本发明的一个实施例,所述网页应用注册模块102通过执行下述操作将所述网页应用注册到所述原生服务端上,得到注册网页应用,包括:
128.获取所述网页应用的网页域名,并接收所述网页应用发出的注册申请;
129.根据所述网页域名及所述注册申请触发所述原生服务端向所述网页应用分配注册标识信息;
130.将所述注册标识信息嵌入所述网页应用中,得到所述注册网页应用。
131.其中,所述网页域名是指由一串点分隔的字符组成的用以表示网页的名称,主要用于在数据传输时对网页的定位标识;所述注册申请是指网页应用向原生服务端发出的注册申请;所述分配注册标识信息是指网页应用id(即web-appid)及网页应用密码(即web-appsecret),且web-appsecret只有原生服务端及网页服务端知道,便于后续网页服务端验证网页应用的合法性,以保障用户登录信息的信息安全。
132.本发明一实施例中,网页域名、web-appid及web-appsecret相互关联,形成注册网页应用。
133.进一步地,所述创建所述注册网页应用与所述原生应用之间的通信链接通道,包括:
134.接收所述注册网页应用向所述原生应用发出的通信请求,根据所述通信请求利用所述原生应用向所述注册网页应用注入链接接口,利用预设的网页调用函数从所述链接接口调用原生应用,得到调用结果;判断所述调用结果是否调用成功;当所述调用结果调用失败时,确定所述注册网页应用与所述原生应用之间未形成所述通信链接通道;当所述调用结果调用成功时,确定所述注册网页应用与所述原生应用之间形成所述通信链接通道。
135.其中,所述预设的网页调用函数可以为socket()函数,通过调用socket()函数,可以从链接接口中调用原生应用,进一步地,判断所述调用结果是否调用成功可以通过判断调用注册网页应用的socket()函数与原生应用是否通信成功,当通信成功,说明通信链接通道已形成,当通信未成功,说明通过链接通道未形成。
136.所述用户标识信息验证模块103,用于接收所述注册网页应用向所述原生应用发起的第二登录请求,并根据所述第二登录请求将所述用户标识信息发送至所述原生服务端进行二次验证,在所述二次验证通过时,利用所述原生服务端生成所述注册网页应用的登录验证码,并将所述登录验证码通过所述通信链接通道传输至所述注册网页应用中。
137.本发明实施例中,所述第二登录请求是指注册网页应用向原生应用发出的登录请求,其中,所述登录请求包括请求地址、请求对象及注册网页应用的网页域名。所述登录验证码是指登录系统或网页时随机产生的一串数字或符号,主要作用是通过验证码验证才可以实现系统或网页的登录,进一步保护应用登录的安全性。
138.本发明实施例通过接收所述注册网页应用向所述原生应用发起的第二登录请求,并根据所述第二登录请求将所述用户标识信息发送至所述原生服务端进行二次验证,在所述二次验证通过时,利用所述原生服务端生成所述注册网页应用的登录验证码,并将所述登录验证码通过所述通信链接通道传输至所述注册网页应用中,可以进一步验证了用户身份的合法性,并加强了对用户身份的第二重保护,防止在后续网页应用与原生应用的交互中被他人窃取。
139.作为我本发明的一个实施例,所述用户标识信息验证模块103通过执行下述操作根据所述第二登录请求将所述用户标识信息发送至所述原生服务端进行二次验证,包括:
140.根据所述第二登录请求获取所述用户标识信息的签发时间及签发过期时间;
141.判断所述签发时间是否大于所述签发过期时间,在所述签发时间不大于所述签发过期时间时,确定所述用户标识信息未过期;
142.验证所述用户标识信息中的第一登录请求签名是否为所述原生服务端签发的;
143.当所述第一登录请求签名不为所述原生服务端签发时,确定所述用户标识信息验证未通过;
144.当所述第一登录请求签名为所述原生服务端签发时,确定所述用户标识信息验证通过。
145.其中,所述签发时间即为token的签发时间;所述签发过期时间即为token的过期时间,通过判断所述签发时间是否大于所述签发过期时间,可以识别token的合法性,当所述签发时间大于所述签发过期时间时,说明token已过期,此时需要原生服务端重新生成第一登录请求的新token;当所述签发时间不大于所述签发过期时间时,说明token未过期。
146.本发明一实施例中,可以通过验证所述用户标识信息中的第一登录请求签名是否为所述原生服务端签发的,进一步保证token的合法性,防止token中途被篡改盗用,可以便于加强后续登录的安全保护。
147.进一步地,所述利用所述原生服务端生成所述注册网页应用的登录验证码,包括:
148.利用所述原生服务端生成所述注册网页应用验证随机数;获取所述验证随机数的索引位置,根据所述索引位置选取所述注册网页应用的登录验证码。
149.其中,所述登录请求可以为原生应用对注册网页应用发出的登录请求;所述验证随机数是指由数字或字母组长的一串验证字符,该验证字符的长度可以为4-6位数。
150.进一步地,所述验证随机数可通过下述公式生成:
151.x
n 1
=(axn c)*modm
152.其中,x
n 1
表示第n 1个伪随机序列;xn表示第n个伪随机序列;a表示乘数;c表示增量;modm表示余下的模量。
153.本发明一实施例中,所述索引位置主要用来描述每个随机数的位置,通过索引位置可以直接利用get函数选取所述注册网页应用的登录验证码。
154.所述应用登录模块104,用于利用所述网页服务端将所述登录验证码发送至所述原生服务端进行验证码验证,在所述登录验证码验证通过时,得到最终标识信息,并将所述最终标识信息传输至所述注册网页应用中,根据所述最终标识信息登录所述注册网页应用。
155.本发明实施例中,所述最终标识信息是指在登录注册网页应用时的登录标识令
牌。
156.本发明实施例通过利用所述网页服务端将所述登录验证码发送至所述原生服务端进行验证码验证,在所述登录验证码验证通过时,得到最终标识信息,并将所述最终标识信息传输至所述注册网页应用中,根据所述最终标识信息登录所述注册网页应用,可以验证注册网页应用的合法性,进一步保护用户信息,同时结合网页服务端即原生服务端的应用,解决由于原生应用及网页应用对应的服务器必须为同一个服务器导致混合应用维护的难度较大的问题,并提高应用登录的安全性。
157.本发明一可选实施例中,在进行验证码验证之前,利用所述原生服务端将所述注册网页应用进行合法性验证,即验证注册网页的网页应用密码(即web-appsecret)是否被篡改,由于web-appsecret只有原生服务端及网页服务端知道,所以通过验证web-appsecret是否被篡改,可以实现注册网页应用的合法性验证,防止用户信息泄露。
158.本发明一实施例中,所述验证码验证可以通过将登录验证码存储至预设的对象(如session)中,将session中的登录验证码同注册网页应用的登录验证码进行对比,当session中的登录验证码同注册网页登录验证码一致时,说明登录验证码通过;当显示未填写登录验证码或登录验证错误时,说明登录验证码验证未通过。
159.进一步地,在所述登录验证码验证通过时,利用原生服务端存储的web-appid与登录验证码相关联web-appid进行对比,在对比一致时,将登录验证码与用户id相关联,得到用户id及用户相关信息(即userinfo),并将用户id及用户相关信息发送至中注册网页应用,当注册网页应用接收到用户id及userinfo,生成注册网页应用的随机数,该随机数即为最终标识信息。
160.本发明实施例中,所述根据所述最终标识信息登录所述注册网页应用,包括:
161.将所述最终标识信息传输至网页客户端中,利用所述网页客户端将所述最终标识信息与用户id相关联,得到登录态,通过所述登录态登录所述网页应用。
162.其中,所述登录态也指登录状态,主要作用是维持登录接口的登录状态,比如,将最终标识信息存储至登录接口中,则将登录接口返回的最终标识信息保存至网页客户端,实现登录态的维持。
163.本发明实施例中,首先通过接收用户对所述原生应用发出的第一登录请求,利用所述原生服务端对所述第一登录请求进行验证,可以判断第一登录请求是否为伪造的指令,初步加强用户身份信息保护,在所述验证通过时,生成所述第一登录请求的用户标识信息;其次,通过将所述网页应用注册到所述原生服务端上,得到注册网页应用,可以防止非法网页应用获取用户标识信息,并创建所述注册网页应用与所述原生应用之间的通信链接通道,实现注册网页应用与原生应用的交互;进一步地,通过根据所述第二登录请求将所述用户标识信息发送至所述原生服务端进行二次验证,可以进一步验证了用户身份的合法性,并加强了对用户身份的第二重保护,防止在后续网页应用与原生应用的交互中被他人窃取;最后,通过利用所述网页服务端将所述登录验证码发送至所述原生服务端进行验证码验证,可以验证注册网页应用的合法性,进一步保护用户信息,同时结合网页服务端即原生服务端的应用以降低混合应用的维护难度,在所述登录验证码验证通过时,得到最终标识信息,根据所述最终标识信息登录所述注册网页应用,提高了应用登录的安全。因此本发明实施例提出的基于混合模式的应用登录装置可以降低混合应用的维护难度并提高应用
登录的安全性。
164.如图5所示,是本发明实现基于混合模式的应用登录方法的电子设备的结构示意图。
165.所述电子设备可以包括处理器10、存储器11、通信总线12和通信接口13,还可以包括存储在所述存储器11中并可在所述处理器10上运行的计算机程序,如基于混合模式的应用登录程序。
166.其中,所述存储器11至少包括一种类型的介质,所述介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:sd或dx存储器等)、磁性存储器、本地磁盘、光盘等。所述存储器11在一些实施例中可以是电子设备的内部存储单元,例如该电子设备的移动硬盘。所述存储器11在另一些实施例中也可以是电子设备的外部存储设备,例如电子设备上配备的插接式移动硬盘、智能存储卡(smartmedia card,smc)、安全数字(secure digital,sd)卡、闪存卡(flash card)等。进一步地,所述存储器11还可以既包括电子设备的内部存储单元也包括外部存储设备。所述存储器11不仅可以用于存储安装于电子设备的应用软件及各类数据,例如基于混合模式的应用登录程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
167.所述处理器10在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(central processing unit,cpu)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述处理器10是所述电子设备的控制核心(control unit),利用各种接口和线路连接整个电子设备的各个部件,通过运行或执行存储在所述存储器11内的程序或者模块(例如基于混合模式的应用登录程序等),以及调用存储在所述存储器11内的数据,以执行电子设备的各种功能和处理数据。
168.所述通信总线12可以是外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。该总线可以分为地址总线、数据总线、控制总线等。所述通信总线12总线被设置为实现所述存储器11以及至少一个处理器10等之间的连接通信。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
169.图5仅示出了具有部件的电子设备,本领域技术人员可以理解的是,图5示出的结构并不构成对所述电子设备的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
170.例如,尽管未示出,所述电子设备还可以包括给各个部件供电的电源(比如电池),优选地,电源可以通过电源管理装置与所述至少一个处理器10逻辑相连,从而通过电源管理装置实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备还可以包括多种传感器、蓝牙模块、wi-fi模块等,在此不再赘述。
171.可选地,所述通信接口13可以包括有线接口和/或无线接口(如wi-fi接口、蓝牙接口等),通常用于在该电子设备与其他电子设备之间建立通信连接。
172.可选地,所述通信接口13还可以包括用户接口,用户接口可以是显示器
(display)、输入单元(比如键盘(keyboard)),可选地,用户接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organic light-emitting diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备中处理的信息以及用于显示可视化的用户界面。
173.应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
174.所述电子设备中的所述存储器11存储的基于混合模式的应用登录程序是多个计算机程序的组合,在所述处理器10中运行时,可以实现:
175.获取原生应用、网页应用、原生服务端及网页服务端,并接收用户对所述原生应用发出的第一登录请求,利用所述原生服务端对所述第一登录请求进行验证,在所述验证通过时,生成所述第一登录请求的用户标识信息;
176.将所述网页应用注册到所述原生服务端上,得到注册网页应用,并创建所述注册网页应用与所述原生应用之间的通信链接通道;
177.接收所述注册网页应用向所述原生应用发起的第二登录请求,并根据所述第二登录请求将所述用户标识信息发送至所述原生服务端进行二次验证,在所述二次验证通过时,利用所述原生服务端生成所述注册网页应用的登录验证码,并将所述登录验证码通过所述通信链接通道传输至所述注册网页应用中;
178.利用所述网页服务端将所述登录验证码发送至所述原生服务端进行验证码验证,在所述登录验证码验证通过时,得到最终标识信息,并将所述最终标识信息传输至所述注册网页应用中,根据所述最终标识信息登录所述注册网页应用。
179.具体地,所述处理器10对上述计算机程序的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
180.进一步地,所述电子设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取介质中。所述计算机可读介质可以是非易失性的,也可以是易失性的。所述计算机可读介质可以包括:能够携待所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)。
181.本发明实施例还可以提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序在被电子设备的处理器所执行时,可以实现:
182.获取原生应用、网页应用、原生服务端及网页服务端,并接收用户对所述原生应用发出的第一登录请求,利用所述原生服务端对所述第一登录请求进行验证,在所述验证通过时,生成所述第一登录请求的用户标识信息;
183.将所述网页应用注册到所述原生服务端上,得到注册网页应用,并创建所述注册网页应用与所述原生应用之间的通信链接通道;
184.接收所述注册网页应用向所述原生应用发起的第二登录请求,并根据所述第二登录请求将所述用户标识信息发送至所述原生服务端进行二次验证,在所述二次验证通过时,利用所述原生服务端生成所述注册网页应用的登录验证码,并将所述登录验证码通过所述通信链接通道传输至所述注册网页应用中;
185.利用所述网页服务端将所述登录验证码发送至所述原生服务端进行验证码验证,
在所述登录验证码验证通过时,得到最终标识信息,并将所述最终标识信息传输至所述注册网页应用中,根据所述最终标识信息登录所述注册网页应用。
186.进一步地,所述计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
187.在本发明所提供的几个实施例中,应该理解到,所揭露的介质、设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
188.所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
189.另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
190.对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
191.因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
192.本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
193.此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。
194.最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献