对于小程序的登录流程微信官方文档也有描述不清的情况,作为一个后端开发研究了小程序关于登录的所有信息对整个登录流程做一个梳理。

首先明确一点,这里指的小程序登录时wx.login(),并不是授权获取用户信息,这是两个东西,把这一点明确了对整个流程的理解就会比较容易。

wx.login()的登录用户是无感知的,进行登录之前需要先校验微信小程序的登录态是否过期,过期了才去登录,这里的校验用wx.checkSession进行。wx.login()调用之后获取到code,code传给后端,后端根据code调用微信服务端接口拿到用户的openid、unionid和session_key(用来解密用户的隐私数据)。然后服务端根据自己的原则建立一个token(时间令牌),此token需要能关联到用户的openid并且有过期失效,便于关联到用户和防止泄露。token返回给小程序端(并不是吧openid 和session_key 返回,安全考虑)。用户在之后请求后端接口的过程中需要携带token已校验用户身份。如果token过期需要用户再次调用wx.login()来请求后端获取新的token。

wx.checkSession({

success(){

checkLogin();

},fail(){

login();

}

});

function checkLogin(){

wx.request({

url:'/api/user/checkLogin',

data:{

token:token

},

success(res){

if(已过期){

login();

}

}

});

}

function login(){

wx.login({

if (res.code) {

//发起网络请求

wx.request({

url: 'https://test.com/onLogin',

data: {

code: res.code

},

success(res){

//存储返回的token到storage

}

})

} else {

console.log('登录失败!' + res.errMsg)

}

});

}

授权获取用户基本信息,授权后请求后端接口把加密的数据传给后端、后端对数据进行解密(需要用户会话的session_key),然后把数据存储到数据库,理论上用户只需一次授权登录,之后用户的头像昵称等数据都可从后台返回。

微信小程序登录流程php,微信小程序登录流程​相关推荐

  1. 提高微信小程序的应用速度的常见方式有哪些? 小程序怎么实现下拉刷新? 简述微信小程序原理? 小程序的发布流程(开发流程)分析下微信小程序的优劣势?小程序授权登录流程? 小程序支付如何实现

    小程序部分常见面试题 提高微信小程序的应用速度的常见方式有哪些? 提高页面加载速度 用户行为预测 减少默认data的大小 组件化方案 分包预下载 小程序与原生App相比优缺点? 优点: 基于微信平台开 ...

  2. 万能门店小程序_超市门店微信小程序注册流程

    现在超市门店商家利用小程序卖货已经非常普遍,小程序可以便捷地连接线上线下通道,让商家不再局限于门店周围的流量,能够从微信获取更多客户,从而提升销量和店铺知名度.超市要想有自己的线上电商小程序,就得先注 ...

  3. qml如何发布程序_微信小程序如何发布?公司和个人注册流程科普

    如今制作微信小程序已经是非常简单的事了,即使是完全不懂技术的小白,也能利用小程序制作工具快速生成小程序,基本上选一个模板就能快速把页面搭建好. 不过,虽然小程序页面搭建很简单,但还有不少人不知道页面搭 ...

  4. 小程序发布上线流程_微信小程序发布流程:公司、个人如何注册小程序

    如今制作微信小程序已经是非常简单的事了,即使是完全不懂技术的小白,也能利用小程序制作工具快速生成小程序,基本上选一个模板就能快速把页面搭建好. 不过,虽然小程序页面搭建很简单,但还有不少人不知道页面搭 ...

  5. 微信小程序与微信登陆的交互、微信登录、获取微信信息

    已有的互联网产品在接入小程序会面临一些和登录态相关的问题:怎么获取微信登录态:怎么把微信帐号和自己的帐号进行打通.我们来介绍一下如何把微信登录应用到你的小程序中. 我们先来看看微信登录的整个过程,如图 ...

  6. java开发微信如何维护登录状态_微信小程序中做用户登录与登录态维护的实现详解...

    总结 大家都知道,在开发中提供用户登录以及维护用户的登录状态,是一个拥有用户系统的软件应用普遍需要做的事情.像微信这样的一个社交平台,如果做一个小程序应用,我们可能很少会去做一个完全脱离和舍弃连接用户 ...

  7. 微信小程序发布上线流程以及个人小程序怎么通过审核

    小程序如何发布?微信小程序发布流程其实很简单,本文就介绍下如何发布上线流程以及个人小程序怎么通过审核 小程序在开发完成后,需要上传代码,设为体验版本,提交审核,发布上线这几个基本步骤 微信小程序发布流 ...

  8. 微信小程序开发详细步骤(企业小程序开发流程)

    今天珍奶bb给大家简单唠唠微信小程序开发详细步骤(企业小程序开发流程)? 微信小程序制作流程是什么?微信小程序制作模板套用怎么操作?今天珍奶bb给大家简单唠唠微信小程序制作流程是什么? 在唠微信小程序 ...

  9. 小程序发布上线流程_微信小程序开发流程的两种方法科普

    现在微信小程序早已渗透到我们日常生活的方方面面,很多商家看到了小程序带来的巨大流量,也想开发一个自己的小程序.所以今天就跟大家科普下微信小程序开发流程,你会发现这个开发过程其实非常简单. 1. 在微信 ...

  10. java微信 扣扣登录_转载微信小程序实现微信登录(Java后台)

    作者:Aoess丶 原文:https://blog.csdn.net/yan245294305/article/details/84993265 这两天在自己的小项目中加入了微信小程序的很多功能,今天 ...

最新文章

  1. BERT小学生级上手教程,从原理到上手全有图示,还能直接在线运行
  2. 双链表的建立、求长、定位、插入、删除、输出和释放
  3. sort与sorted的区别
  4. 单词接龙pascal程序
  5. 从人生,从马克思主义哲学角度对于软件设计的思考20090824
  6. 深入浅出学习Struts框架(九):分析Struts框架实例4
  7. springboot集成Swagger2接口文档
  8. 清华大学计算机系牛人,高考状元不靠加分靠实力
  9. 2万字!66道并发面试题及答案
  10. DuiLib快速入门。你的第一个DuiLib程序
  11. 多御安全浏览器使用技巧,剖析7大优点特性
  12. 发布海外媒体稿件更好帮助企业海外营销推广
  13. layuiadmin上手好难_滑步车比赛好拍吗?
  14. 微信群活码生成系统,群活码、客服活码、一套非常棒的免费开源群活码系统
  15. 浅谈Session并且实现购物车
  16. 在安卓手机安装Linux
  17. 数据库设计文档化---详细文档
  18. 工作流网(workflow net)
  19. 解决网络丢包问题及故障判断方法
  20. 移动互联网你需要了解35家潜力企业

热门文章

  1. html5什么是动态页面,举例说明什么是动态网站、静态网站
  2. 弘辽科技:淘宝编辑商品价格会降权吗?如何改价?
  3. 大学计算机基础第5版赵英良答案,清华大学出版社-图书详情-《C++程序设计实验指导与习题解析》...
  4. KVM halt-polling机制分析 1
  5. nginx php phpmyadmin,nginx服务器支持phpmyadmin的配置
  6. C#药店管理信息系统源码带文档
  7. 《0day安全》堆溢出利用(下)——代码植入
  8. RAMPS1.4 3D打印控制板:软件下载\连接\安装\测试
  9. 用PYTHON画图 看股票/数字货币的趋势分析 带你直观理解指标 K线图
  10. java基础(六)线程