一、关键词
用户唯一标识: OpenID
微信平台帐号下的唯一标识:UnionID
会话密钥:session_key
形象解释:UnionID是 身份证号,OpenID是 学号/工号,sesison_key是 暗号。
二、步骤
1.前端调用 wx.login( ),获取临时登陆凭证code
wx.login({
success: (res) => {
console.log(res)
}
})
2.用code换取session_key、openid
微信接口请求地址:
api.weixin.qq.com/sns/jscode2…
请求参数:
| 属性 | 类型 | 必填 | 说明 |
|---|---|---|---|
| appid | string | 是 | 小程序 appId |
| secret | string | 是 | 小程序 appSecret |
| js_code | string | 是 | 登录获取的 code |
| grant_type | string | 是 | 授权类型,此处为 authorization_code |
appId,appSecret可微信后台获取(开发管理 ->开发设置->开发者ID)
官方不建议把openid或者session_key作为用户标识,
后台可自定义,关联openid和session_key;
或按官方文档,后台生成session,以3rd_session(生成的随机数)为key,session_key + opneid为value,即session[ 3rd_session ] = session_key + openid;
3.前端拿到session_key、openid相关信息,存入storage,作为后续请求其它接口的参数。
4.如需绑定账号,则还需要一个登陆页面,输入用户名和密码,进行session_key、openid的绑定。
三、参考官方图:
结尾:好记性不如烂笔头,写点笔记,督促进步。撒花 🎉🎉🎉