首页
学习
活动
专区
工具
TVP
发布

程序登录态,如何去维护?

引言 对于开发程序而言,登录态的维护是不可避免的。下面将抛出某书程序的解决方案,欢迎大家扔砖。 某书程序是基于wepy开发,下面的同样适用于程序原生开发。...对于某书,登录无非就是获取登录态,然后服务于各page,用于打点,获取相应数据,购买等。 因为是每个page都需要,因此如何优化的封装会更简洁?...程序提供了一系列的注册App,注册Page的生命周期,因此毫无疑问,在注册APP的生命周期中完成获取登录态操作。...But,登录是异步的,如何保持各个page的同步,是的,答案是promise,那么该如何实现?...被坑了一把,在早期,程序中onLaunch的确是会早于onLoad先运行,但是在最新版本却不是了(微信的开发人员也没想过这个问题吧),这尼玛还是在最近运营那边需要统计销量,发现,打点数据中很多缺少用户信息等

1.3K50

如何实现程序登录鉴权

为了方便用户使用程序时,使用微信账号授权快速登录软件,微信程序提供了相关的授权接口。程序可以通过微信官方提供的登录能力方便地获取微信提供的用户身份标识,快速建立程序内的用户体系。...流程 在开始之前,我们先看看程序官方给出的程序登录流程时序图,一下子没看懂?没关系,接下来就给大家做详细的介绍。...程序端 明白了整体的流程和架构,我们就可以开始撰写代码了,首先,我们需要安装开发环境,及搭建好基础的代码框架,没有经验的同学可以参考如何入门程序开发这篇文章,在此文中,我们详细介绍了入门程序应该具备的工具及代码...,关于如何加密绑定,可以参考如何快速搭建微信程序这篇文章。...总结 本文详细介绍了程序登录鉴权的流程,后续如何存储openid和session_key这块是业务逻辑,本文暂不涉及。

7.3K8566
您找到你想要的搜索结果了吗?
是的
没有找到

程序项目实战-程序登录操作

本章介绍开发者如何利用微信用户信息登录程序,并使用云开发将用户数据保存到云数据库中。 微信开放文档中提供了两种方式给开发者完成程序登录功能。...getUserInfo接口无需过多介绍,下面说下如何使用新接口完成用户的登录操作,并将记录保存下来。...这里以我自己写的程序为例: 1 设置button按钮点击事件 <button style="width:150rpx;padding:45rpx 8rpx;" plain type...// 获取微信昵称等信息 wx.getUserProfile({ lang:'zh_CN', desc:'用于程序内部登录', success(ret){...,要将该登录信息缓存到本地,否则下次用户切换页面或者重新进入程序,可能还得需要再次执行登录操作,造成用户不好的体验。

2.2K10

如何程序中接入微信登录

文 | feShinhwa 今天,知晓程序(微信号 zxcx0101)为大家分享服务器端基于 Java、SpringMVC 实现的微信程序登录系统。...登录功能是许多程序必备的一个功能,通过登录系统,我们可以记录用户在我们的程序里一些行为,在后台我们也可以模糊地确认用户。 在程序里,微信只向开发者提供了获取用户昵称、头像的基础接口。...微信的官方文档详细的介绍了登录的流程,从流程中我们可以提炼出关键的流程点: 程序端调用 wx.login() 接口,获取登录需要用到的 code; 程序端通过 wx.request(),与开发者的服务器进行通信...; 服务器返回随机值到程序的客户端,以后程序的请求附带返回的随机值来确保用户的合法性; 首先,我们要构造出一个 GET 请求,实现开发者服务器和微信的服务器的通信: 我们在 controller 获取到...接下来,我们就要保存用户的登录状态信息了。 如果需要获取登录用户的用户名和昵称,我们还需要注意一个问题:昵称中的中文可能会乱码。

1.2K30

程序登录鉴权

导语 为了方便程序应用使用微信登录态进行授权登录,微信程序提供了登录授权的开放接口。乍一看文档,感觉文档上讲的非常有道理,但是实现起来又真的是摸不着头脑,不知道如何管理和维护登录态。...首先大家看到这张图,肯定会注意到程序进行通信交互的不止是程序前端和我们自己的服务端,微信第三方服务端也参与其中,那么微信服务端在其中扮演着怎样的角色呢?我们一起来串一遍登录鉴权的流程就明白了。...也就是说,我们可以用这个标识来间接地维护我们程序用户的登录态,那么这个session_key是怎么拿到的呢?...dialectOptions: { charset: 'utf8mb4', collate: "utf8mb4_unicode_ci" }, } 最后 前面讲了微信程序如何接入微信登录态标识的详细流程...,那么如何获取程序中的用户数据以及对用户敏感数据进行解密,并保证用户数据的完整性,我将在下一篇文章给大家做一个详细地介绍。

1.6K20

微信程序授权登录

授权登录的基本流程 微信程序登录流程.jpg 上图是微信程序官网提供的授权登录基本流程图,这里我只从前端开发的角度来讲解一下该流程。 通过wx.login()获取临时登录凭证code。...get/post 接口的封装处理 在根目录中创建service文件夹,用于存放与接口相关的代码,在service文件夹创建一个myRequest.js文件并对程序的get/post请求进行封装处理,代码如下...authorization中,这样数据不会丢失,除非删除该程序 authorization: wx.getStorageSync('authorization') || "",//获取存储在程序内存中的...} accredit(); } module.exports = { myAuthorize, mySetStorage, myGetStorage } 授权登录封装好了之后再看看如何在项目中如何使用...,由于微信程序授权只能通过button来触发,所以使用 button 组件,并将 open-type 指定为 getUserInfo 类型,获取用户基本信息。

11.9K30

微信程序 接口调用讲解 (AccessToken、程序登录

,做下分享 1 登录信息获取 ♘链接 - 开放文档 ->>> 程序登录 【场景描述】 当用户在我们开发的程序中,点击授权登录时 我们可以通过微信官方提供的登录能力,方便地获取用户...在接下来的获取接口,有令牌就可以 访问,没有的话就不能访问 对于为什么要换取 Token,如何使用 Token,可以参考下面的两篇文章: ♘ 登录与令牌 程序用户怎么拿到 token 的?...如果,程序检测到登录, 要更新 redis, 状态 status 设定为 已登录状态 5..../** * 更新 商家PC端 程序码状态信息 * @param int $opTag 1:获取程序码;2:检测程序码,扫码状态;3:商家小程序端,登录后的缓存更新...使用程序登录,用户真正登录行为发生在程序上,同步给网页的是登录态, 相比于微信二维码登录同步给网页临时 code, 然后在重定向到业务登录后台换取登录态方式, 程序码方式少了一次请求

9.4K10

程序登录与静默续期

每一个有数据交互的程序,都会涉及到登录、token 等问题,openid 又是什么呢?怎么使用静默续期,来提升用户体验呢?...程序登录 ---- 登录时序 一切的一切,都要从这么一张程序登录时序图说起: ? 通常情况下,我们的程序都会有业务身份,如何将微信帐号和业务身份关联起来呢?...这个时候我们需要上图的步骤: 程序调用wx.login()获取临时登录凭证code。 程序将code传到开发者服务器。...临时登录凭证 code 在程序中调用wx.login(),能拿到一个code作为用户登录凭证(有效期五分钟)。...结束语 ---- 程序登录登录态管理,大概是大部分程序都需要的能力。code和session_key的设计,做了哪些事情来保护用户的数据。

2.2K30

处理微信程序授权登录

前言 当微信程序项目中涉及到获取用户信息并实现用户登录时,可以通过微信官方提供的登录能力方便地获取微信的用户身份标识,快速建立程序内的用户体系。...官方文档只是提供如何去调用授权登录,如果直接原封不动的照搬文档来进行代码编写,这样势必会造成代码的维护性差,所以本篇着重介绍如果更优雅的处理微信程序的授权登录。...授权登录的基本流程 微信程序登录流程.jpg 上图是微信程序官网提供的授权登录基本流程图,这里我只从前端开发的角度来讲解一下该流程。 通过wx.login()获取临时登录凭证code。...authorization中,这样数据不会丢失,除非删除该程序 authorization: wx.getStorageSync('authorization') || "",//获取存储在程序内存中的...} accredit(); } module.exports = { myAuthorize, mySetStorage, myGetStorage } 授权登录封装好了之后再看看如何在项目中如何使用

7.6K55

程序用户登录架构设计

背景 上一篇文章《程序静默登录方案设计》提到过,程序可以通过微信官方提供的登录能力方便地获取微信提供的用户身份标识,快速建立程序内的用户体系。...「用户登录」流程 上一篇文章《程序静默登录方案设计》中提过,当新用户第一次进入程序时,便会触发「静默登录」,这个过程对用户是无感知的。...如下所示,程序只有微信授权功能,则可以通过弹窗完成授权。如程序同时提供手机号验证码和密码登录等功能,则需跳转特定登录页面。 ? 登录流程-弹窗 3.2 libs 3.2.1 用户身份定义 ?...下列表格以程序端为例,简述了「静默登录」和「用户登录」整套方案的前后端逻辑实现。...业务场景 用户感知 前端处理逻辑 后端处理逻辑 补充说明 扫码搜索等各种方式进入程序 无 1、判断:当前程序是否缓存了登录态auth-token 且使用wx.checkSeesion检查当前用户在程序登录态是否过期

1.8K40

微信程序微信登录

image.png 开发接口 登录 wx.login wx.checkSession 签名加密 程序登录 程序可以通过微信官方提供的登录能力方便地获取微信提供的用户身份标识,快速建立程序内的用户体系...登录流程时序 程序,开发者服务器,微信接口服务 wx.login()获取code wx.request()发送code 登录凭证校验接口 appid+appsecret+code session_key...+openid等 自定义登录 与openid,session_key关联 image.png image.png image.png 微信登录授权: wx.authorize 提前向用户发起授权请求...,调用后会立刻弹窗询问用户是否同意授权程序使用某项目功能或获取用户的某些数据,但不会实际调用对应的接口,如果用户之前就已经同意授权,则不会出现弹窗。...} }) }, bindGetUserInfo (e) { console.log(e.detail.userInfo) } }) image.png image.png 程序登录

30.4K30
领券