微信小程序登陆流程

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>

以上是关于微信小程序登陆流程的主要内容,如果未能解决你的问题,请参考以下文章

微信小程序的登录流程

Taro/微信小程序 微信登录流程

微信小程序登录流程

微信小程序登陆不上去怎么回事?

微信小程序上线流程

微信小程序,登陆开发者工具提示:当前开发者未绑定此appid?