微信用户访问小程序登录流程详解
总结
当你开发了一个小程序并在网上部署后,当一个微信用户第一次访问小程序时,会弹出一个授权界面,用户可以选择是否使用微信登录,如果是,直接进入小程序。第二次进入小程序时,会发现授权界面不会弹出,直接进入小程序即可。
这个过程看起来很简单,但实际上实现起来相当麻烦和繁琐。它涉及对话、安全和身份验证等各种问题。下面,笔者介绍一下实现这个登录过程的思路。
微信提供小程序登录流程图
我们可以从登录过程序列中找到这张图片。要完全理解一幅画,你需要知道很多东西。我们先来看看微信提供的几个界面。
小程序界面介绍
wx.login()
这个方法是由applet启动的。如果使用腾讯团队推出的小程序组件开发框架的wepy,伪代码如下:
这样,wepy.login()。然后(RES={const code=res.code})可以从微信平台获取一个代码,这是获取openid的临时登录证书。
wx.request()
这也是由applet发起的,applet用于请求开发者服务器(也就是我们的应用服务器)上的接口。调用的伪代码如下:
Wepy。请求({url: ` xxurl `,data: {//input },})。然后(res={//从res获取应用服务器返回的数据})获取openid的接口
开发主体开发小程序时,当用户访问小程序时,微信平台会给用户分配一个openid。以下接口:
https://api.weixin.qq.com/sns/jscode2session?appid=APPIDsecret=SECRETjs _ code=JSCODEgrant _ type=authorization _ code
这个微信界面通常是我们的应用服务器调用的,不是小程序调用的。
wx.getUserInfo
GetUserInfo是微信平台上用于获取用户信息的界面。注意,如果微信用户第一次访问小程序,会弹出授权界面。GetUserInfo只能在用户授权后调用并返回用户数据。
使用微信访问小程序时会用到这四个界面。
基于令牌维护会话和登录身份验证
小程序虽然不支持cookie机制,但是支持在头中设置token。
该令牌由应用服务器生成。
header : { ' xxxx token ' : token,}当applet调用应用服务器接口时,它必须携带此令牌,应用服务器将分析并验证此令牌。当然,如果是第一次访问小程序,只能由应用服务器老师作为令牌创建。我打算用伪代码来表达使用token后的整个登录过程,因为很难用文字或者图片来表达。
const code=wx . log in();If (code) {//code存在//get to dennst token=wx。getstoragesync('
版权声明:微信用户访问小程序登录流程详解是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。

















