微信小程序和php后台实现授权登录以及登录态维护

写在前头:本文章仅仅是做笔记,记录学习过程方便以后再次观看学习使用,本人小白,不敢自称大佬教人,有错误的地方也诚挚的感谢各位能提出。
以用户为核心的操作在小程序,web应用,游戏等几乎所有领域都无所不见。
那web应用,小程序维护用户登录态通常都是token的思想,就是登陆成功后给前端发一个token(百度翻译:代币,专用辅币; 代价券; 赠券; 礼券),也就是一个凭证,并且后端自己也保存一份。下次前端访问后端的时候,除了告诉后端要干什么,顺便带上token,让后端知道你是谁,从而进行其他以用户为核心的操作。

web的token机制是cookie,小程序用一个变量来代替存储在storage里就可以了。

Q1:为什么session要定期清理
可以节约内存,对于长期不使用的用户可以从服务器缓存中清理掉,节约空间。

小程序授权登录和普通直接账号密码登录有点奇妙,他是一个双session过程,所以我一开始也蒙圈了很久,我们多一步去和微信小程序打交道的目的是什么。我们能否自己制作一个独立的用户标识,第一次使用小程序就立刻通过特定算法生成一个独一无二的字符串,然后也生成session,key也随机生成,并且发给前端,独一无二的字符串作为value,保存在服务器的缓存里,并且数据库和用户有关的操作都要用这个独一无二的字符串来关联着。
好,这就会导致要是遇到cookie被清理,导致无法登陆账号,你想想账号密码的登录方式是不是不怕本地cookie被清理。所以要多一步向微信服务器请求openid的目的就是我们要的就是那个独一无二并且是在登陆微信的前提下才有的字符串来当做我们识别用户是谁的字符串。因为openid是不会改变的,改变的是login函数返回的code。所以很适合那openid来当做用户的身份证。

下面开始详细登陆流程介绍。

你可能感兴趣的:(微信小程序和php后台实现授权登录以及登录态维护)