微信小程序用户登录信息过期处理

小程序授权流程,小程序登录过期,小程序二次请求 写这篇文章,主要是因为前阵子(其实就是一两周前)被大佬要求画出授权时序图,然后我不出意外被教训了一顿,哈哈,经过一顿梳理,整出了下图: 上图为相应的时序图(字丑,能看懂就好别介意哈!) 为什么这图会有sessionId呢?因为小程序的请求wx.login返回的code是会过期的。根据是否过期去判断是否需要重新登录小程序。sessionId怎么来的呢?是根据小程序getAccessToke... 阅读详情

微信小程序用户登录信息过期处理

由于小程序对获取用户信息的新规定,获取用户信息必须通过一个button调出获取窗口,然而用户的token会过期,而本地存在的缓存可能会让用户误以为自己仍处于登录状态,但实际使用时因为用户此时登录信息已经过期并未有openid导致信息渲染不完全从而无法成功使用小程序。
问题的麻烦就在于此时用户对小程序其实是已经授权的,我们无法通过院线的授权登录按钮实现刷新登录信息,可是我们总不能让用户每次都把小程序删除后重新登录小程序,又麻烦用户体验也差。
我的解决办法是通过ui优化重写写一个提示用户重新授权的button,并在button的方法调用中无论如何将用户的登录信息改为false,从而实现重新登录。

效果如图:
用户点击登录后即可重新实现获取用户信息,刷新页面,并无需唤起授权窗口。在这里插入图片描述

wxml:

<view class="text-center text-orange">
<text class="text-center text-orange">登录信息过期时请重新授权</text>
<button class="text-blue cu-btn" open-type="getUserInfo" bindgetuserinfo="bindgetuserinfo">登录</button>
<text>哦(*╹▽╹*)</text></view>

js:

bindgetuserinfo: function () {
    self = this
    this.logged = false
  // 调用云函数
  if (!this.logged) {
    wx.cloud.callFunction({
      name: 'login',
      data: {},
      success: res => {
        console.log('[云函数] [login] user openid: ', res.result.openid)
        this.logged = true
        wx.setStorageSync('openid', res.result.openid)
        wx.getUserInfo({
          success: res => {
            const myavatarUrl = res.userInfo.avatarUrl
            const mynickName = res.userInfo.nickName
            const mymanager = false
            wx.cloud.callFunction({
              name: 'addUser',
              data: {
                avatarUrl: myavatarUrl,
                manager: mymanager,
                nickName: mynickName,
                openid: wx.getStorageSync("openid")
              },
              success: function (res) {
                console.log(res)
                self.onLoad();
                self.onShow();
              },
              fail: function (res) {
                console.log(res)
                if (getCurrentPages().length != 0) {
                  //刷新当前页面的数据
                  getCurrentPages()[getCurrentPages().length - 1].onLoad()
                }
              }
            })
          }
        })
      },
      fail: err => {
        console.error('[云函数] [login] 调用失败', err)
        if (getCurrentPages().length != 0) {
          //刷新当前页面的数据
          getCurrentPages()[getCurrentPages().length - 1].onLoad()
        }
      }
    })
  }
  }  
微信小程序登录鉴权全流程解析:从wx.login到用户信息获取 本文详细解析了微信小程序登录鉴权的完整流程,从调用wx.login获取临时凭证,到后端通过code2Session接口换取用户唯一标识openid和会话密钥,再到生成自定义Token维护登录态,并阐述了与获取用户信息授权流程的分离。文章强调了AppSecret安全、前后端职责分离及Token管理等核心安全要点,为开发者构建安全可靠的小程序账户体系提供了清晰指南。 阅读详情

相关推荐

微信小程序用户授权,以及判断登录是否过期的方法

主要介绍了微信小程序用户授权及判断登录是否过期,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

微信小程序 登陆过期,请重新授权

微信小程序 登陆过期,请重新授权当你们的小程序的服务端进行了迁移,但是服务应用的域名并没有改,只是迁移了服务器的服务端程序到新的服务器,那么可能你测试或者用微信小程序时候,点击微信 获取头像(获取微信账号)信息时候,弹出显示“ 登陆过期,请重新授权”;遇到了以上问题 ,多半是 微信小程序端 开发设置出了问题;解决步骤:1:用管理员微信登陆小程序管理页:地址:微信公众平台2:点击开发管理、开发设置、开发者ID那一栏的 IP白名单3:在IP白名单那一栏,点击编辑,填入 新迁移的服务器IP地址,点击保存即可4:等

vipfhl的专栏 7311

半桥LLC谐振变换器及同步整流MATLAB仿真(一)

LLC工作原理详细解析,工作过程详细拆解

qq_55203246的博客 3万+

微信小程序如何处理token过期问题

使用HttpUtil封装wx.request API,全局捕获过期token并自动处理后,下发给上层业务。

输出与提升 1万+

SolidWorks草图绘制实战:如何用图片参考快速搞定智能小车底板设计

本文详细介绍了在SolidWorks中利用图片参考进行草图绘制的实战方法,以智能小车底板设计为例,帮助设计师快速将概念转化为精准三维模型。通过插入、对齐参考图片并高效描图,结合参数化约束与尺寸驱动,大幅提升设计效率和准确性,尤其适合新手入门与老手优化工作流。

rust6ferris的博客 218

手把手教你解决uniapp中esbuild版本冲突问题(Mac版专属指南)

本文是针对Mac平台uniapp开发者的专属指南,详细解析了运行项目时常见的`Cannot start service`错误,即esbuild的Host版本与binary版本不匹配问题。文章从错误根源入手,提供了从快速应急处理到彻底根治的完整解决方案,包括手动替换二进制文件、锁定依赖版本、清理缓存及优化工具链配置,旨在帮助开发者高效解决版本冲突,恢复并稳定开发环境。

i0j1k2l3m的博客 459

微信小程序有没有必要设置token过期时间

综合考虑,对于对安全性要求不高的小程序,可以不强制设置过期时间;但如果涉及敏感信息或操作,则建议设置合理的过期时间,如1天、3天或1周。过期时间不宜设置太短,通常要比用户的登录频次长些,以免影响正常使用。1. 加强安全性设置 token 过期时间可以降低token被滥用或恶意攻击的风险,因为过期的 token 将无法再被使用,这提高了应用的安全性。4. 用户体验但过期时间设置太短会损害用户体验,用户可能会在使用过程中突然被登出。所以设置与否和过期时间长度,都需要根据应用的实际情况来权衡确定。

T3165919332的博客 2830

GB 44497-2024《智能网联汽车 自动驾驶数据记录系统》标准解读

GB 44497-2024《智能网联汽车 自动驾驶数据记录系统》针对智能网联汽车的自动驾驶数据记录系统进行了全面规范。标准要求我们记录车辆在自动驾驶模式下的所有关键操作数据,如:1. 车辆状态数据,如速度、加速度、转向角度、制动状态等;2. 环境感知数据,如周围物体的位置、速度、类型等;3. 驾驶决策数据,如路径规划、避障决策、紧急制动指令等;4. 系统状态数据,如软件版本、硬件状态、系统警告信息等。在数据存储方面,标准强调了数据的安全性和可靠性。

daopuyun的博客 2670

小程序判断登录过期时间

【代码】小程序判断登录过期时间。

文龙刚的博客 988

基于ROS2 Humble与Livox Mid-360的双雷达点云融合实战解析

本文详细解析了基于ROS2 Humble与Livox Mid-360的双雷达点云融合实战方案。从环境搭建、驱动安装、双雷达配置、外参标定、时间同步到点云融合核心实现,全面介绍了技术要点与避坑指南,并提供了工程化部署与性能优化建议,助力开发者高效实现高精度点云合成应用。

ss78901的博客 1093

基于Pascal VOC数据集的YOLOv8目标检测系统实现:人、鸟、猫、牛、电视、车等20类目标识别与UI界面部署全流程详解

VOC 2007、VOC 2012 两个主要版本;每个图像提供 bounding box(目标框)+ 目标类别;共计 20 类,所有图像手工标注,质量高。完整复现 Pascal VOC 20类检测任务成功训练 YOLOv8 模型实现可视化 UI + 实时检测系统支持多平台部署和演示。

YOLO 771

微信小程序用户授权登录button

文章目录

Coo~的博客 2512

MATLAB 车牌识别系统

车牌识别系统利用计算机视觉和图像处理技术,自动识别车辆牌照上的字符信息。本系统基于 MATLAB 实现车牌识别,包括图像预处理、车牌定位、字符分割、字符识别等模块。车牌识别系统是实现智能交通和公共安全的重要手段,具有广泛的应用前景。MATLAB 提供了丰富的工具和函数,可以方便地进行算法仿真和系统开发。

走向CTO的路上... 727

mpvue入坑之旅(四) 微信登录

mpvue入坑之旅(四) 微信登录1 小程序登录2 根据token获取用户信息3 实例 1 小程序登录 详见 开发者文档 1)调用 wx.login() 获取 临时登录凭证code ,并回传到开发者服务器。 2)调用 auth.code2Session 接口,换取 用户唯一标识 OpenID 和 会话密钥 session_key。 前台(获取登录凭证code): wx.login({ success(res) { if (res.code) { that.$http.post(

qq_23470315的博客 583

【二.图像处理核心技术】【5.形态学操作:腐蚀/膨胀/开闭运算】

想象一下,你拍了一张布满雪花点的老照片,或者扫描了字迹断裂的文档,这时候形态学操作就是你的像素整形师!它们能让模糊的边界变清晰,把断裂的笔画连起来,甚至从X光片里揪出癌细胞。今天我们要聊的,是计算机视觉界的"广场舞双雄"——腐蚀和膨胀。这俩操作就像给像素点们请了个健身教练,要么集体减肥(腐蚀),要么组团增肌(膨胀)。下次当你用美颜相机时,不妨会心一笑——这看似魔法的背后,正是形态学在默默耕耘。腐蚀的规则很简单:如果一个像素点周围的邻居不全白,它就"狗带"(变黑)。:先用砂纸打磨(腐蚀),再喷漆填补(膨胀)

商务合作|问题讨论|交流学习 请联系作者微信,加微信请务必注明来意,博客主页有联系方式 426

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

关于小程序登录获取oppid,和用户信息

判断用户登录是否过期 wx.checkSession({ success() { //session_key 未过期,并且在本生命周期一直有效 }, fail() { // session_key 已经失效,需要重新执行登录流程 wx.login() //重新登录 } }) 用户授权登录 wx.login({ success(res) { // 发送 res.code 到后台换取 openId, sessionKey, unionId var

ghthuhl的博客 1457

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

微信小程序登录、获取用户信息以及检查session_key是否过期大致操作流程[开发采用wepy框架]

基于微信小程序对于getUserInfo的调整,获取用户信息改采用button实现,基于此实现的微信小程序一整套登录流程。 在整个小程序的实现中需要调用wx.checkSession()接口,通过该接口检测session_key是否过期。 基于该次项目的流程设计,首先在app.wpy文件中的onLaunch函数中做如下处理: wx.checkSession({ success...

拥抱星星的月亮的博客 2万+

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

微信小程序 登录失效后处理

微信小程序 登录失效后处理

IT_iosers的博客 2378

微信小程序-用户信息及登录

一、获取用户信息的方法 wx.getUserProfile(Object object) 获取用户信息。页面产生点击事件(例如 button 上 bindtap 的回调中)后才可调用,每次请求都会弹出授权窗口,用户同意后返回 userInfo。该接口用于替换 wx.getUserInfo。 实现代码: .wxml文件 <!--pages/loginPage/loginPage.wxml--> <view> <button bindtap="getUserInfo![请添加图

u012903898的博客 1406

小程序用户登录架构设计

1. 背景 首先谈谈在小程序的开发中,如何借助微信的能力标识一个用户? 微信官方提供了两种标识: OpenId 是一个用户对于一个小程序/公众号的标识,开发者可以通过这个标识识别出用户。 UnionId 是一个用户对于同主体微信小程序/公众号/APP 的标识,开发者需要在微信开放平台下绑定相同账号的主体。开发者可通过UnionId,实现多个小程序、公众号、甚至 APP 之间的数据互通。 同一个用户的这两个 ID 对于同一个小程序来说是永久不变的,就算用户删了小程序,下次用户进入小程序,开发者依旧

m0_46180764的博客 1445

使用uni 微信登录第一次失败,第二次就成功,附带解决办法,绝对好使

必须吐槽,uni有点坑 解决问题一共用了三套方案,本以为第二套也可以,当问题重现的时候我心态崩了 我差点没心态了草了个DG 需求:通过微信绑定手机号弹窗,获取用户信息,带到后台 原因:sessionkey 过期了 为啥过期:与微信官方交互了两次,sessionkey 更新导致 sessionkey 不一致 最终解决思路: 具体问题: 使用框架使用的是 uni,写的是微信小程序,ul框架用的:thorui 产品要点击微信一键登录,通过获取手机号在获取用户信息存放到数据库中,刚开始我也实现了,但是每次登录

weixin_46095200的博客 4239

微信小程序登录的最佳实践

小程序可以通过微信官方提供的登录能力方便地获取微信提供的用户身份标识,快速建立小程序内的用户体系。 调用 wx.login() 获取 临时登录凭证code ,并回传到开发者服务器。 调用 auth.code2Session 接口,换取 用户唯一标识 OpenID 、 用户在微信开放平台帐号下的唯一标识UnionID(若当前小程序已绑定到微信开放平台帐号) 和 会话密钥 session_key。 wx.login() auth.code2Session wx.checkSession()

weixin_55020138的博客 1464

微信小程序授权登录

开发者服务器调用 auth.code2Session 接口,换取 用户唯一标识 OpenID 、 用户在微信开放平台账号下的唯一标识UnionID(若当前小程序已绑定到微信开放平台账号) 和 会话密钥 session_key。微信用户点击授权,调用 wx.login() 获取 临时登录凭证code ,并回传到开发者服务器。之后根据openid 查询用户表是否存在,存在授权完成,不存在插入数据(openId,用户信息)。小程序端获取用户数据需要服务端解密,解密后用户完整数据。微信小程序授权登录+获取手机号。

lanhuayushen的博客 383

Uniapp小程序登录和登录验证

Uniapp小程序登录和登录验证

Miketutu的博客 3944

uniapp微信小程序不强制登陆的逻辑(模仿大厂登陆)

uniapp微信小程序不强制登陆的逻辑(模仿大厂登陆)

大雾起了清晨 3451

彻底搞懂小程序登录流程-附小程序和服务端代码

编者按:本文作者奇舞团高级前端开发工程师冯通 用户登录是大部分完整 App 必备的流程 一个简单的用户系统需要关注至少这些层面 安全性(加密) 持久化登录态(类似cookie) 登录过期处理 确保用户唯一性, 避免出现多账号 授权 绑定用户昵称头像等信息 绑定手机号(实名和密保方式) 很多的业务需求都可以抽象成 Restful 接口配合 CRUD 操作 但登录流程却是错综复杂, 各个平台有...

weixin_34212189的博客 1120
上一篇: 树莓派4B安装opencv
下一篇: 树莓派安装包依赖问题的解决 E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系
Funooo
博客等级 码龄8年 5粉丝 17原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值