首页资讯动态 建站合同

[焦作小程序开发]微信小程序获取用户登录态失败
时间:2020-12-22 阅读:210次 来源:
[焦作小程序开发]微信小程序获取用户登录态失败
搜一搜
深圳蚂蚁网络网站建设
深圳蚂蚁网络网站建设小编今天给大家整理了一篇有关《[焦作小程序开发]微信小程序获取用户登录态失败》的相关文章,更多详细内容,欢迎继续往下阅读,下面就由小编来分享给大家!


[焦作小程序开发]微信小程序获取用户登录态失败


  前言、

  微信小程序的运行环境不是在浏览器下运行的。所以不能以cookie来维护登录态。下面我就来说说我根据官方给出的方法来写出的维护登录态的方法吧。

  一、登录态维护

  官方的文档地址:https://mp.weixin.qq.com/debug/wxadoc/dev/api/api-login.html#wxloginobject

  通过wx.login()获取到用户登录态之后,需要维护登录态。开发者要注意不应该直接把session_key、openid等字段作为用户的标识或者session的标识,而应该自己派发一个session登录态(请参考登录时序图)。对于开发者自己生成的session,应该保证其安全性且不应该设置较长的过期时间。session派发到小程序客户端之后,可将其存储在storage,用于后续通信使用。

  登录时序图

  从上图可以看出。当我们通过wx.login()获取code的后,发送给我们的服务器,然后去请求微信服务器换取得到对应的openid与session_key,openid是该用户在小程序中的唯一标识用于模板通知之类的。session_key就是用来解密用户的敏感信息。unionid之类的。unionid是微信用户在所有微信平台下的唯一标识。下面我会讲解一下如何得到。

  以上就是我的实现方法。调用wx.login()得到code后请求服务器获取openid与session_key缓存在服务器当中。其中生成一个随机数为key,value为openid与session_key。然后返回到小程序通过wx.setStorageSync('LoginSessionKey',得到的随机数key)缓存在小程序当中。每当我们去请求服务器时带上LoginSessionKey即可给服务器读取从而判断用户是否在登录。是不是很简单呢?

  二、用户数据的加解密

  通过wx.login()登录之后。我们可以通过wx.getUserInfo()获取用户信息。其中一些不敏感的信息在返回的result中的userInfo里。如想要获取敏感信息。openid,unionid之类的。则需要从密文中去解密得到。

  而密文则在encryptedData这个字段当中。我们去请求我们服务器去解密然后得到敏感信息后则可以保存起来。

  加密数据解密算法

  接口如果涉及敏感数据(如wx.getUserInfo当中的openId和unionId),接口的明文内容将不包含这些敏感数据。开发者如需要获取敏感数据,需要对接口返回的加密数据(encryptedData)进行对称解密。解密算法如下:

  对称解密使用的算法为AES-128-CBC,数据采用PKCS#7填充。

  对称解密的目标密文为Base64_Decode(encryptedData),

  对称解密秘钥aeskey=Base64_Decode(session_key),aeskey是16字节

  对称解密算法初始向量iv会在数据接口中返回。

  微信官方提供了多种编程语言的示例代码(点击下载)。每种语言类型的接口名字均一致。调用方式可以参照示例。

  这时候我们通过小程序得到的result.encryptedData与result.iv与后端得到的session_key解密出我们得到的敏感用户信息了。


"

扫二维码与项目经理沟通

我们在微信上24小时为你服务



—— 企业互联网品牌建设服务商

"


  目前,微信小程序登录态标签聚合页面仍在完善中,后续将为您提供丰富、全面的关于微信小程序登录态的最新资讯、图片信息、文字内容,让您第一时间了解到关于微信小程序登录态的热门信息。小编将持续从百度新闻、搜狗百科、微博热搜、知乎热门问答以及部分合作站点渠道收集和补充完善信息。


我们可以提供这些服务
企业互联网项目开发

深圳蚂蚁网络网站建设公司提供,系统定制,微信开发、小程序定制、微商城开发、网站建设、网站排名优化推广等互联网项目定制开发服务。

城市分站

佛山网站建设 | 东莞网站建设 | 从化网站建设 | 广州网站建设 | 惠来网站建设 | 惠州网站建设 | 揭阳网站建设 | 普宁网站建设 | 汕头网站建设 | 汕尾网站建设 | 韶光网站建设 | 布吉网站建设 | 福田网站建设 | 龙岗网站建设 | 龙华网站建设 | 南山网站建设 | 肇庆网站建设 | 中山网站建设 | 珠海网站建设

版权声明

深圳蚂蚁网络声明:如发现内容存在版权问题,烦请提供相关信息发邮件至3310459304@qq.com,我们将及时沟通与处理。本站内容除声明原创外其他均来源于网络,涉及言论、版权与本站无关。如果您对互联网营销方面有哪些不明白的可以继续访问本站,返回首页

联系我们
工作时间
周一至周六 08:30-18:00
我们的地址
深圳市龙华新区龙华街道和平东路金銮时代大厦8001
点击按钮在线咨询
在线客服 在线客服 在线客服

深圳蚂蚁网络网站建设公司专为北京广州成都深圳杭州重庆上海东莞济南西安、徐州、珠海、郑州、福州、青岛、南宁、河南、厦门、贵阳、武汉、无锡、南昌、宁波、温州、盐城、天津、石家庄、沈阳、苏州、嘉兴、淄博、南京、台州、江门、合肥、济宁、佛山、长沙、汕头、潍坊、洛阳、肇庆、黑龙江、海口、湖州、广东、大连、信阳、桂林、滨州、舟山、陕西、莱芜、中山、赣州、海南、河北、兰州、哈尔滨、常州、吉安、承德、新乡、郴州、东营、淮安、惠州、昆明、湘潭、云南、漳州、西宁、银川、万州、廊坊、益阳、濮阳、福田、太原、长春、南通、龙岩、莆田、青海、岳阳、泰安、龙华、湖南、烟台、娄底、乌鲁木齐、四川、资阳、江津、十堰、常德、贵州、绍兴、闵行、随州、咸阳、渭南、孝感、商丘、忻州、静安、宿迁、六安、聊城、衡阳、甘肃、商洛、九江、大庆、连云港、巴中、镇江、宜昌、滁州、扬州、泰州、泉州、鄂州、山西、衡水、南充、松江、株洲、遵义、安徽、咸宁、北海、山东、呼和浩特、宝安、柳州、唐山、邯郸、齐齐哈尔、黄石、日照、黄冈、宝鸡、徐汇、荆州、马鞍山、梧州、内蒙古、江苏、衢州、淮北、广西、绵阳、拉萨、湛江、荆门、恩施、张家界、怀化、邢台、泸州、鞍山、嘉定、淮南、龙岗、沧州、天门、湖北、宝山、潜江、三亚、邵阳、海淀、新疆、牡丹江、辽宁、合川、黄浦、吉林、四平、茂名、涪陵、浙江、松原、仙桃、三门峡、崇左、永州等全国各地提供微商城小程序系统定制设计开发服务。

网站地图 XML地图 HTML地图 TXT地图 RSS地图
2016-2021 © 深圳蚂蚁网络.All Rights Reserved.  粤ICP备17017147号