微信小程序登录流程整理

发布日期:2020-08-18 作者:mi52.com 人气:

1、前言

微信小程序凡是需要记录用户信息都需要登录,但是也有几种不同的登录方式,但是在小程序部分的登录流程是一样的。小程序登陆、获取openid、checksession检查授权等,初学者很容易搞混,现在做个简单梳理。


2、登陆设计原则

1)在必须用到登录信息的环节引导用户登录

在用户必须登录时才引导用户登录(如:购买前需要获取会员信息,用于同步积分数据),而不是用户一进入小程序就弹窗要求用户授权。

如果在用户对当前小程序服务还未了解时,弹框获取用户信息,会使得一部分用户点击“拒绝”按钮,影响登录转化率。

在登录页面中,清晰、准确地告知用户当前操作是登录,说明获取登录信息的目的(如:用于同步会员积分数据等)

2)不强制用户必须使用微信登录

除微信登录外,建议开发者提供游客登录模式,保证用户在拒绝授权头像和昵称信息后仍可使用小程序。 如要求必须授权头像昵称等信息才能继续使用小程序,会导致某些用户放弃使用该小程序。


3、几种登录流程设计

1)利用openid 创建新用户

这种方式大体上就是一种静默登录,获取用户信息之后解密用户信息并通过openid直接创建新用户


2)利用Unionid 创建新用户

这种方式的特点是可以利用Unionid实现多个小程序、公众号、已有登录体系的数据互通。


3)利用现有登录体系

这大体上是复用了现有的登录体系,授权获取个人信息之后输入手机号和验证码就能完成登录了,同时OpenId与个人信息都存在了我们自己的服务器。

当一个用户来使用我们的小程序时,在一个需要登录的页面,会经历以下几个步骤:


小程序登录.png


4、几个核心API和核心字段

wx.login() 调用接口获取登录凭证(code)

code2Session 登录凭证校验,为了获取会话秘钥session_key

wx.checkSession() 检查登录态是否过期

wx.getSetting() 获取用户的当前设置

wx.getUserInfo 获取用户信息,获取之后需要解密数据

session_key 会话秘钥,是通过调用接口获取登录凭证获取的,是有时效性的


5、主要流程

小程序登录主要流程.png

下面是官方文档上登录流程图

小程序登陆流程.jpg


注意: 由于最新的文档要求获取用户信息必须用户主动触发,不能开发者自动调取了,所以现在需要做个授权页面引导用户点击


返回顶部

拨打电话
首页