CN117201605A - 一种基于h5的小程序客户端用户会话实现方法及系统 - Google Patents
一种基于h5的小程序客户端用户会话实现方法及系统 Download PDFInfo
- Publication number
- CN117201605A CN117201605A CN202311268912.2A CN202311268912A CN117201605A CN 117201605 A CN117201605 A CN 117201605A CN 202311268912 A CN202311268912 A CN 202311268912A CN 117201605 A CN117201605 A CN 117201605A
- Authority
- CN
- China
- Prior art keywords
- session
- client
- server
- request
- page
- 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 20
- 235000014510 cooky Nutrition 0.000 claims abstract description 35
- 230000003993 interaction Effects 0.000 claims abstract description 10
- 238000013475 authorization Methods 0.000 claims description 6
- 238000012546 transfer Methods 0.000 claims description 3
- 238000012795 verification Methods 0.000 claims description 2
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 238000007792 addition Methods 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
Landscapes
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种基于H5的小程序客户端用户会话实现方法,包括以下步骤:步骤1、客户端向服务端发起登录请求,并携带请求参数;步骤2、服务端校验请求参数,登录成功,并生成客户会话,并返回给客户端;步骤3、客户端通过原生代码调起webview,并将客户会话传递给H5页面;步骤4、H5页面将客户会话写入cookie,在与服务端交互中,将cookie信息与请求信息传给服务端;步骤5、服务端校验cookie中会话后,将会话写入session中返回给H5页面。本发明实现用户会话(session)多端共享,解决微信小程序客户认证问题。
Description
技术领域
本发明涉及信息技术领域,具体涉及一种基于H5的小程序客户端用户会话实现方法及系统。
背景技术
由于http协议的无状态特性,采用h5技术构建的应用通常使用服务端会话(session)结合客户端会话(cookie)的方式来识别用户、维持会话状态。这种技术需要用户通过密码或者其他鉴权方式登录来创建会话,而在小程序应用中,同一用户需要在原生应用和webview中频繁切换,用户会话很难顺畅传递,导致用户会话超时需要重新登录。
发明内容
为了克服现有技术的缺点与不足,提出一种基于H5的小程序客户端用户会话实现及系统,该方法解决在小程序应用中,同一用户在原生应用和webview中频繁切换过程中用户会话的顺畅传递的问题。
基于上述问题,本发明采用如下技术方案:
一种基于H5的小程序客户端用户会话实现方法,包括以下步骤:
步骤1、客户端向服务端发起登录请求,并携带请求参数;
步骤2、服务端校验请求参数,登录成功,并生成客户会话,并返回给客户端;
步骤3、客户端通过原生代码调起webview,并将客户会话传递给H5页面;
步骤4、H5页面将客户会话写入cookie,在与服务端交互中,将cookie信息与请求信息传给服务端;
步骤5、服务端校验cookie中会话后,将会话写入session中返回给H5页面。
进一步地,所述步骤1中携带的请求参数具体为:用户登录名、短信验证码
进一步地,所述步骤2中,客户会话写入到HTTP请求头Header的authorization参数中。
进一步地,所述步骤3中原生创建一个webview页面,调起webview时通过小程序的路由跳转进webview页面,参数通过url传入H5中,H5中通过window自带的location对象里提供的方法和属性获取到小程序带过来的所有参数。
进一步地,所述步骤4中,服务端收到HTTP请求后,检查cookie中session的值,如果为空,这检查authorization的值,根据authorization的值获取缓存中客户信息,确认客户已经认证登录,返回客户请求数据,并在返回的HTTP请求头中,将authorization的值写入到session中。
进一步地,所述步骤5中,H5页面接收到HTTP返回信息,webview根据HTTP协议规范,自动将session的值保存到cookies中;
进一步地,后续H5发起的HTTP请求中,则自动添加cookies中session的值。
本发明还提供一种基于H5的小程序客户端用户会话实现系统,包括:
请求登录模块:客户端向服务端发起登录请求,并携带请求参数;
服务端校验模块:服务端校验请求参数,登录成功,并生成客户会话,并返回给客户端;
客户会话传递模块:客户端通过原生代码调起webview,并将客户会话传递给H5页面;
交互模块:H5页面将客户会话写入cookie,在与服务端交互中,将cookie信息与请求信息传给服务端;
会话返回模块:服务端校验cookie中会话后,将会话写入session中返回给H5页面。
与现有技术相比,本发明具有如下有益效果:
本发明由于http协议的无状态特性,采用h5技术构建的应用通常使用服务端会话(session)结合客户端会话(cookie)的方式来识别用户、维持会话状态,简单便捷的将不同客户端的请求统一到同一会话中,避免多次登录,提高客户体验。
附图说明
图1为本发明实施例1中的时序图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本发明普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
下面结合附图对本发明进行说明,本实施例提供一种基于H5的小程序客户端用户会话实现方法,包括以下步骤:
步骤1、客户端向服务端发起登录请求,并携带请求参数;
步骤2、服务端校验请求参数,登录成功,并生成客户会话,并返回给客户端;
步骤3、客户端通过原生代码调起webview,并将客户会话传递给H5页面;
步骤4、H5页面将客户会话写入cookie,在与服务端交互中,将cookie信息与请求信息传给服务端;
步骤5、服务端校验cookie中会话后,将会话写入session中返回给H5页面。
具体实施方式如下:
小程序客户端新建登录模块,编写代码逻辑,通过HTTP请求,获取客户会话,并在生成webview时,将会话传递给H5页面;所述步骤3中原生创建一个webview页面,由于微信的机制,在小程序里,webview是一个单独的页面,每次调起webview时都会通过微信小程序的路由跳转进webview页面,参数通过url传入H5中,H5中通过window自带的location对象里提供的方法和属性获取到小程序带过来的所有参数;
H5页面由于无法修改cookie中session的值,因此将客户会话写入到HTTP请求头Header的authorization参数中;
服务端收到HTTP请求后,检查cookie中session的值,如果为空,这检查authorization的值,根据authorization的值获取缓存中客户信息,确认客户已经认证登录,返回客户请求数据,并在返回的HTTP请求头中,将authorization的值写入到session中;
H5页面接收到HTTP返回信息,webview根据HTTP协议规范,自动将session的值保存到cookies中;
后续H5发起的HTTP请求中,则自动添加cookies中session的值。
本文中所描述的具体实施例仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。
实施例2
本实施例提供一种基于H5的小程序客户端用户会话实现系统,包括:
请求登录模块:客户端向服务端发起登录请求,并携带请求参数;
服务端校验模块:服务端校验请求参数,登录成功,并生成客户会话,并返回给客户端;
客户会话传递模块:客户端通过原生代码调起webview,并将客户会话传递给H5页面;
交互模块:H5页面将客户会话写入cookie,在与服务端交互中,将cookie信息与请求信息传给服务端;
会话返回模块:服务端校验cookie中会话后,将会话写入session中返回给H5页面。
尽管已描述了本发明的优选实例,但本领域的技术人员一旦得知了基本的创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围所有的变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其同等技术的范围之类,则本发明也意图包含这些改动和变型在内。
其它未详细说明的部分均为现有技术。
Claims (8)
1.一种基于H5的小程序客户端用户会话实现方法,其特征在于,包括以下步骤:
步骤1、客户端向服务端发起登录请求,并携带请求参数;
步骤2、服务端校验请求参数,登录成功,并生成客户会话,并返回给客户端;
步骤3、客户端通过原生代码调起webview,并将客户会话传递给H5页面;
步骤4、H5页面将客户会话写入cookie,在与服务端交互中,将cookie信息与请求信息传给服务端;
步骤5、服务端校验cookie中会话后,将会话写入session中返回给H5页面。
2.根据权利要求1所述的一种基于H5的小程序客户端用户会话实现方法,其特征在于,所述步骤1中携带的请求参数具体为:用户登录名、短信验证码。
3.根据权利要求1所述的一种基于H5的小程序客户端用户会话实现方法,其特征在于,所述步骤2中,客户会话写入到HTTP请求头Header的authorization参数中。
4.根据权利要求1所述的一种基于H5的小程序客户端用户会话实现方法,其特征在于,所述步骤3中原生创建一个webview页面,调起webview时通过小程序的路由跳转进webview页面,参数通过url传入H5中,H5中通过window自带的location对象里提供的方法和属性获取到小程序带过来的所有参数。
5.根据权利要求1所述的一种基于H5的小程序客户端用户会话实现方法,其特征在于,所述步骤4中,服务端收到HTTP请求后,检查cookie中session的值,如果为空,这检查authorization的值,根据authorization的值获取缓存中客户信息,确认客户已经认证登录,返回客户请求数据,并在返回的HTTP请求头中,将authorization的值写入到session中。
6.根据权利要求1所述的一种基于H5的小程序客户端用户会话实现方法,其特征在于,所述步骤5中,H5页面接收到HTTP返回信息,webview根据HTTP协议规范,自动将session的值保存到cookies中。
7.根据权利要求6所述的一种基于H5的小程序客户端用户会话实现方法,其特征在于,后续H5发起的HTTP请求中,自动添加cookies中session的值。
8.一种基于H5的小程序客户端用户会话实现系统,其特征在于,包括:
请求登录模块:客户端向服务端发起登录请求,并携带请求参数;
服务端校验模块:服务端校验请求参数,登录成功,并生成客户会话,并返回给客户端;
客户会话传递模块:客户端通过原生代码调起webview,并将客户会话传递给H5页面;
交互模块:H5页面将客户会话写入cookie,在与服务端交互中,将cookie信息与请求信息传给服务端;
会话返回模块:服务端校验cookie中会话后,将会话写入session中返回给H5页面。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311268912.2A CN117201605A (zh) | 2023-09-27 | 2023-09-27 | 一种基于h5的小程序客户端用户会话实现方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311268912.2A CN117201605A (zh) | 2023-09-27 | 2023-09-27 | 一种基于h5的小程序客户端用户会话实现方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117201605A true CN117201605A (zh) | 2023-12-08 |
Family
ID=88992307
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311268912.2A Pending CN117201605A (zh) | 2023-09-27 | 2023-09-27 | 一种基于h5的小程序客户端用户会话实现方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117201605A (zh) |
-
2023
- 2023-09-27 CN CN202311268912.2A patent/CN117201605A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10834031B2 (en) | Information exchange method, client, and apparatus | |
US9634967B2 (en) | Method and system for embedded personalized communication | |
EP3028437B1 (en) | Messaging api over http protocol to establish context for data exchange | |
EP3734914B1 (en) | Authentication of service requests | |
CN109561159B (zh) | 一种基于Websocket长连接的数据处理方法及系统 | |
EP3863261B1 (en) | System and method for cloud-based data validation | |
CN110391974A (zh) | 一种消息同步方法、服务端、终端及系统 | |
US20200220868A1 (en) | Account recovery | |
US11144363B1 (en) | Workflow management system | |
US20200228611A1 (en) | System and method for coupling two separate applications to an application session within a serverless infrastructure | |
CN109964493B (zh) | 网络连接检测方法、装置、终端及计算机存储介质 | |
CN101094199A (zh) | 为基于浏览器的应用提供即时通信功能的方法与系统 | |
CN101202716A (zh) | 一种信息存储方法及通讯系统以及相关设备 | |
WO2015017482A1 (en) | Messaging over http protocol for data exchange | |
CN108965332B (zh) | 多站点用户登录状态同步方法及系统 | |
WO2016155266A1 (zh) | 虚拟桌面的数据共享方法和装置 | |
CN110719307A (zh) | 数据传输方法、客户端、服务端及计算机可读存储介质 | |
WO2008006115A9 (en) | A method and system for embedded personalized communication | |
CN103069741A (zh) | 凭据认证方法及单点登录服务器 | |
CN117201605A (zh) | 一种基于h5的小程序客户端用户会话实现方法及系统 | |
CN113852694B (zh) | 一种用于多端接入客户系统的消息推送系统及推送方法 | |
US8219609B1 (en) | Establishing a stateful environment for a stateless environment | |
CN113301050B (zh) | 网页页面多用户实时登录登出管理方法、系统、终端及介质 | |
US10108588B2 (en) | Method and system for communicating between client pages | |
CN113645129A (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 |