美文网首页
微信小程序授权登录的一些探究

微信小程序授权登录的一些探究

作者: 热血沸腾 | 来源:发表于2021-04-22 17:16 被阅读0次

    注意2021年4月28日24时后发布的小程序新版本无法通过wx.getUserInfo获取用户信息!

    新的wx.getUserInfo有调整。可以获取code,继而获取unionId但是无法获取到用户信息,获取到的是匿名信息! 该接口对用户无感,底部弹出框!
    如果要获取用户昵称等信息,则调用wx.getUserProfile接口,底部弹框,用户授权。
    具体看原文!
    官方原文

    微信登录流程官方文档
    注意小程序全权负责session_key的有效性,前端小程序通过wx.checkSession接口获取有效性,若无效则调用wx.login 获取新的code , 把code传递给服务器, 让服务器重新给小程序新的token 。 因为服务器无法知道session_key 是否过期,所以只有小程序来判断!
    因此建议每次小程序调用服务器端提供的 需要登录用户才可以调用的API 时,需要在前面调用这个逻辑,如下代码逻辑。

    wx.checkSession({
      success () {
        //session_key 未过期,并且在本生命周期一直有效
       //session有效才调用你的业务接口!!!!
      },
      fail () {
        // session_key 已经失效,需要重新执行登录流程
        wx.login() //重新登录
      }
    })
    
    

    总结。后台同学注意,小程序登录传过来的code, code+appId+appSecret 获取的session_key 一定不要设置过期时间,这个时间是前端小程序来告诉你的。 如果你之前的token设置了过期时间,我建议最好针对小程序单独加一个wxToken字段, 默认wxToken的有效期是永久的。
    以上逻辑的支撑理由如链接 微信官方文档
    重点我截图了,如下:

    image.png

    另外wx.login
    可以获取到code (前端用户是无感的)。服务器可以通过code再调用auth.code2Session
    获取到

    image.png

    wx.getUserInfo
    是小程序底部弹框,需要用户授权的scope.userInfo

    image.png

    微信小程序登录流程图

    image.png

    相关文章

      网友评论

          本文标题:微信小程序授权登录的一些探究

          本文链接:https://www.haomeiwen.com/subject/hmlfrltx.html