微信小程序登录态

本文介绍了微信小程序的登录态原理和维护流程。在前后端分离的小程序中,由于没有cookie,通过wx.login获取code,服务器用code换取session_key和openid。然后服务端存储session_key,生成3rdSessionId返回给客户端,客户端保存并在后续请求中携带,以此识别用户身份。同时,文章探讨了自定义登录态的实现,强调了session_key的安全性和code的一次性使用特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

所谓登录态,就是程序在运行时,能够识别当前用户,能够证明自己的唯一性且合法。

WEB服务器通过浏览器携带的cookie获取session来判断是否是同一用户(或浏览器);Restful服务通过客户端传过来唯一ID,来识别调用用户(传统登录有web服务器提供Session维护, 后端在返回结果给前端web项目时,带上cookie,且以cookie值为key存储用户信息到session中,前端web项目在再以后端返回的结果中,得到相应cookie的值,再一次以同样的方式将cookie值返回给前端浏览器客户端,这样,后面每次浏览器客户端请求时都会带上cookie。)。

微信小程序和以前的web项目不同,他是前后端分离的应用,微信小程序中没有cooike,那么接下来我们来看下小程序如何登录,以及如何维护微信小程序的登录态(Session)。

小程序登录态维护实现流程

  1. 通过wx.login获取登录态。
  2. 通过登录返回的code发送给服务器,服务器用code换取session_key和openid后。
  3. 获取session_key后一般使用缓存框架保存登录态,服务端随机生成一串唯一字符串3rdSessionId为key,session_key为value组成键值对并存到缓存当中,缓存时间视情况自行决定。
  4. 将3rdSessionId返回给客户端
  5. 客户端将3rdSessionId缓存到localStorage中,后续接口从缓存中读取3rdSessionId,传递给服务器;服务器根据3rdSessionId来判断用户身份。
  6. 如果服务器根据3rdSessionId在缓存中查找是否存在session_keyÿ
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值