频道栏目
首页 > 资讯 > 微信小程序 > 正文

微信小程序用户信息解密C#之微信登录相关开发教程

18-01-04        来源:[db:作者]  
收藏   我要投稿

背景

有幸参加微信小程序的内测,由于公司之前已经有自己的服务大号,积累转化了大量的会员

所以在做小程序时,要实现会员的互通,想到的是 unionid

wx.login(OBJECT)

调用接口获取登录凭证(code)进而换取用户登录态信息,包括用户的唯一标识(openid)及本次登录的会话密钥(session_key)

wx.getUserInfo(OBJECT)

获取用户信息,需要先调用wx.login接口

其中需要的unionid在调用成功返回的

是个加密数据,解密算法

实现code 换取 session_key

前端先调 wx.login 得到code

后端换取session_key和openid, openid返回前端,session_key保存(缓存)解密用

注意:一个code只能换取一次;

再次调用wx.login, 会导致上一次的 session_key 失效,解密出来的都是乱码

2.解密

前端先调 wx.getUserInfo得到encryptData

用login返回的openid,encryptData 调后端解密

刚开始按开发文档,用C# 系统自带AES解密失败

报“填充无效,无法被移除”异常

在网上扒拉了一圈,也没找到有用的信息,最终在github上,找带了参考代码,自己再改改,才解密成功

结语

代码本身没啥牛逼的,希望贴出来能对后面的开发伙伴有所帮助 :)

相关TAG标签
上一篇:微信小程序开发教程:项目构架开发教程
下一篇:微信小程序几个令人兴奋的细节分享
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站