微信小程序登陆流程
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微信小程序登陆流程相关的知识,希望对你有一定的参考价值。
参考技术A 官方说明为: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
微信小程序登录流程
微信登陆流程
微信多个载体(APP微信授权,微信公众号授权登陆),openId
是不一致的,但是unionId
是一致的
所以在走流程时,
先判断unionId在数据库中存在不存在
- 存在,拿unionId去数据库换token,获取用户信息,更新openId,---首页
- 不存在,在启动页,让用户点击授权登陆,获取用户信息,再进行手机号授权
- 微信授权手机号 ---首页
- 登陆注册手机号 ---首页
代码方面:
- 进入启动页
wx.login();//获取code,code只能获取一次
将
code
传给后端,换取sessionKey
,openId
,unionId
- 点击微信授权按钮,获取用户信息
getUserInfo
会获取用户信息,bindgetuserinfo
会弹出框,让用户点击授权,里面的参数也会有用户信息
<button open-type="getUserInfo" bindgetuserinfo="bindGetUserInfo">微信授权登录</button>
点击微信手机号授权
getPhoneNumber
会获取加密过后的手机号,传给后端,获取解密后的手机号
<button form-type="submit" open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">微信授权获取手机号</button>
- 进入启动页
以上是关于微信小程序登陆流程的主要内容,如果未能解决你的问题,请参考以下文章