我们要在 APP.js 中调用获取 openid 云函数
1.用户点击微信授权,小程序端获取手机号。2.小程序端将手机号和code传给后台,
3.后台通过code获取openid
如果openid已经存在,返回用户信息
如果openid不存在,并且该手机号未和openid绑定,那么该openid和手机号均可用户登录,返回用户信息
如果openid不存在,并且该手机号已经和某个openid绑定了,那么返回错误信息
补充:
前端传给后台code,后台通过小程序的一个方法(使用code,小程序appid和secret)从微信获取唯一标识openid(或unionid)
1.前端传给后台code,后台(使用code,小程序appid和secret获取)从微信获取唯一标识openid(或unionid)
2.如果后台存在该openid用户,返回登录成功的参数
如果不存在该openid用户,返给前端openid和一个失败的标识
3.前端界面跳转,变成输入手机号和验证码界面。
如果手机号存在,登录成功,返回参数。并且如果没有绑定微信,那么绑定openid
如果手机号不存在,那么注册该手机号为用户,并且绑定openid
或者第三步骤为:
3.前端将openid和手机号+密码给后台
如果登录成功,返回登录成功参数,并且如果没有绑定微信,那么绑定微信
如果用户(手机号)存在,密码错误,提示密码错误
如果用户(手机号)不存在,那么注册该密码为登录密码
官方说明为:
https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code
获取步骤:
(1)获得appid,secret,js_code
(2)用appid,secret,js_code分别替换如上接口地址的APPID、SECRET、JSCODE,其他不变,组装成完整的地址。
微信小程序获得session_key和openId(加解密、签名系列)
微信小程序获得session_key和openId(加解密、签名系列)
总结:从1,2,3步骤可知,只要获得appid,secret,js_code就可得到session_key和openId
appid为小程序ID
secret为小程序密钥(AppSecret)
获得方法:小程序后台登录网址: https://mp.weixin.qq.com/
打开小程序后台网址、注册、登录后,按如下图所示就可找到你的AppID和AppSecret。
微信小程序获得session_key和openId(加解密、签名系列)
注意:目前小程序个人不能注册,开放注册范围:企业、政府、媒体、其他组织;
当然用这个办法,个人也能注册了。
传送门: http://www.moquu.com/v/372.html
微信小程序获得session_key和openId(加解密、签名系列)
(2)调用wx.login()接口获取登录凭证js_code
(3)调用wx.request()接口把js_code发送到服务器后台
(4)在服务器后台,已知appId、secret、js_code
然后调用如下官方提供的http接口,即可返回获取openId、session_key
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)