一、微信原生提供的获取用户手机号并且登陆的主要步骤
- 调用wx.login()获得code
wx.login({
success: function(res){
console.log(res.code)
}
})
-
开发者使用code在微信服务器调用接口获得openid,session_key,unionid
(https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/login/auth.code2Session.html) -
使用手机号登录
<button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber"> </button>
当用户点击并同意之后,可以通过 bindgetphonenumber 事件回调获取到微信服务器返回的加密数据, 然后在第三方服务端(你自己的服务器)结合步骤2中获得的 session_key 以及 app_id 进行解密获取手机号。
微信处理用户登陆通常的做法:
是前端拿到code和用户加密的登陆信息传递给后端提供的解密接口,后台使用前端的code去换取该用户的唯一标识(openid)及本次登录的会话密钥(session_key)来对用户加密数据进行解密&#