微信小程序登录相关总结
小程序登录总结
- wx.login 获取
code - wx.getUserInfo 获取
非敏感信息userInfo和加密后的敏感信息encryptedData还有加密向量iv- 分开是为了敏感信息不在前端被攻击
- 尽量不要使用前端操作和存储敏感信息,而是应该借助
3rd-session向后端发请求来操作,否则分开就没意义了
- 将
code发给后端 - 后端凭借
code + appid + appsecret向微信服务器发请求获得加密密钥session-key和openid - 此时前端将
加密后的敏感信息encryptedData给后端,后端可凭借session-key和iv来解密encryptedData获得完整的用户信息userWholeData- 这一步可以与3一起发,减少一个http请求
- 后端利用hash算法之类的手段,用用户信息或者code、随机时间之类的作为载荷或者材料,生成一个
3rd-session,作用实际类似于jwt,里面可以存载荷信息也可以不存,发给前端作为令牌 - 后端将
key: 3rd-session和value:session-key + openid(也可以直接value: openid)存入数据库表A 可以根据需要将userWholeData连同openid一起存入用户信息表B 3rd-session用于验证前端登录态,是前后端交流判断用户的唯一凭据,要足够随机、足够长、有失效时间。前端将3rd-session发给后端后,后端根据A来取得用户openid,然后根据需要去查询和修改B3rd-session可以放在http请求头部(header)、query或者body
点击查看更多内容
6人点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦