小程序账号主体信息(对应小程序在微信体系里面的账号密码)
{ appid,secret }
wx.login
获取微信登录临时凭证(code),每个code只能使用一次
多次调用wx.login有可能导致session_key刷新,会导致开发者服务器上存储的session_key失效(解密失败)
code2Session(开发者服务器调用)
开发者服务器通过临时登录凭证(只能使用一次)以及账号主体信息去微信服务器获取用户登录态信息
{ appid,secret,code }=>{ openid,session_key,unionid }
getUserInfo、getPhoneNumber
获取用户开放数据,一般会经过微信签名和加密,
{
signature=sha1(rawData+session_key)
encryptedData=xxxx
}
session_key
用于解密敏感的用户开放数据
session_key具有时效性且对开发者透明,故在需要用到session_key之前先去验证下是否已过期
wx.checkSession
校验session_key有效性,如果失效,则需要重新调用wx.login获取code,进而更新开发者服务器上的session_key
网友评论