收藏
回答

【问题讨论】小程序登录:自定义登录状态是否有必要维护?

当前对于同一个小程序而言,用户的openid是唯一的。


所以假设: 自己的开发服务器维护openid与session_key的关系, 然后服务器与小程序通信直接用openid作为传参,有什么不妥吗?

因为小程序微信登录的失效的失效与否,是通过wx.checksession来判断的。


为什么微信将 openid定义为敏感数据,


PS: 感觉使用openid作为参数判断就相当于 站点对于用户的登录判断是依赖 一个不变的key来校验一个,所以有些不够安全。


【最佳实践】还是建议维护自定义的登录状态,不然会存在一定的风险。


泄露场景】大家可以补充下吗?

  1. 本地电脑代理抓包

最后一次编辑于  2019-01-23
回答关注问题邀请回答
收藏

2 个回答

  • 杨泉
    杨泉
    2019-01-23
    1. 登录态在你自己有用户体系的情况下,当然是需要自己来维护的,不管openid到底是不是敏感数据。


    2. 不管是自己生成token方式也好,jwt方式也好。需要注意的就是token的有效性。譬如,用户修改了密码token是否需要重新生成?再或者,用户绑定了手机,换了绑定手机token是否需要重新生成?


    3. checksession只是为了用户在微信自身体系下的登陆状态的一种维持的保证,因为有些敏感api(没记错的话获取手机号?)的使用是需要保证用户在微信体系下的login态存在的。如果你的小程序没有用的类似的敏感api,checksession对你是一点作用都没有。甚至连wx.login也只可能需要在用户第一次使用小程序的时候调用,把此用户转换到你自己的用户体系就可以了。

    2019-01-23
    有用 5
    回复
  • 再见,电脑崽
    再见,电脑崽
    2019-01-23

    openid是不会变的,一旦泄露,我就能伪装成你。

    2019-01-23
    有用 2
    回复 1
    • 2019-01-23

      对的,更全面安全的方案: 确实需要 第三方来处理自定义登录状态,

      2019-01-23
      1
      回复
登录 后发表内容