微信小程序登錄相關(guān)總結(jié)
小程序登录总结
- 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
點擊查看更多內(nèi)容
6人點贊
評論
評論
共同學(xué)習(xí),寫下你的評論
評論加載中...
作者其他優(yōu)質(zhì)文章
正在加載中
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦