微信小程序开发---微信获取微信绑定手机号并登录流程

一、微信原生提供的获取用户手机号并且登陆的主要步骤

  1. 调用wx.login()获得code
wx.login({
	success: function(res){
	 console.log(res.code)
	}
})
  1. 开发者使用code在微信服务器调用接口获得openid,session_key,unionid
    (https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/login/auth.code2Session.html)

  2. 使用手机号登录

    当用户点击并同意之后,可以通过 bindgetphonenumber 事件回调获取到微信服务器返回的加密数据, 然后在第三方服务端(你自己的服务器)结合步骤2中获得的 session_key 以及 app_id 进行解密获取手机号。

微信处理用户登陆通常的做法:
是前端拿到code和用户加密的登陆信息传递给后端提供的解密接口,后台使用前端的code去换取该用户的唯一标识(openid)及本次登录的会话密钥(session_key)来对用户加密数据进行解密,然后获取用户手机号,同你们app中的注册用户进行关联,保证小程序中的账号和app账号想通,并通知前端用户登陆成功。

getPhoneNumber: function (e) {
	wx.login({
		success(res){
				wx.request({
					url: 'https://你的解密地址',
					data: {
					'encryptedData': encodeURIComponent(e.detail.encryptedData),
					'iv': e.detail.iv,
					'code': res.code
					}
				}),
				method: 'POST',
				header: {
					'content-type':'application/json'
				}, 
			success: function (res) {
					if (res.status ==1) {//我后台设置的返回值为1是正确
					//存入缓存即可
					wx.setStorageSync('phone', res.phone);
			}
			},
		fail: function (err) {
			console.log(err);
		}
	})
	}
	})}
}

后台接口怎么解析,需要参考微信提供的方法:下载示例

参考文档 :https://blog.csdn.net/weixin_41818665/article/details/79509792

你可能感兴趣的:(小程序,登录)