~获取wx用户信息(web接入vs公众号vs小程序)~
这段时间先后进行了web站点的微信扫码登录,momo鸡公众号和momo鸡小程序的开发,
web站点集成wx登录,和公众号wx浏览器中集成wx授权,流程一致,oauth2流程:用户授权成功后,浏览器会从wx系统带code参数重定向到业务系统,业务系统在server端用code换token和openid,然后在获取userinfo;
公众号可以通过openid与本地账户体系的对应关系做个性化的消息对话开发;
小程序的开发与上述开发有着明显的不同,小程序是端上的开发,是在各用户手机端上执行的程序,而非集中运行的server端系统;
从用户打通这个层面体现很明显,从官方给出的api可以看出,基本都是wx端上的api,比如wx.login(),wx.getUserInfo();在端上进行用户信息的获取和使用,若要和业务账号体系打通需要将端上获取的用户信息同步到业务系统;
具体地,方法一:通过连续调用wx.login和wx.getUserInfo,即通过wx.login获取js_code,然后通过业务系统调用wxserver端api获取对应的openid/unionid/session_key存到账户体系并返回到端上(分配业务系统账户标识),然后端上调用wx.getUserInfo来获取用户信息,并将此信息通过openid更新到业务系统;
方法二:wx.login和wx.getUserInfo没有连续调用,但后者仍旧在前者"有效期"内,这时,单从wx.getUserInfo的明文信息中没有包含openid字段,则可以通过其密文字段和加密验证字段发送到业务server,通过其在wx.login阶段存储的还在"有效期"内的session_key来验证并揭秘这个密文字段获取带有openid的用户信息,从而完善业务系统的用户体系;
获取wx用户信息(web接入vs公众号vs小程序) by 佚名 @ 2019-12-08 10:18:12
切到该章
收藏
从此续写