收藏
回答

wx.getUserInfo 获得的信息,该如何确定用户身份?

比如我的小程序只是一个类似问卷的内容

不需要什么敏感信息,但需要用户来登录再操作

wx.getUserInfo 所获得的信息 该如何确认这个用户是否登陆过 以便来保存以前的信息呢?

回答关注问题邀请回答
收藏

5 个回答

  • จุ๊บ
    จุ๊บ
    2020-08-20

    首次登陆保存用户信息并返回校验token,如果数据库有用户信息并且token未过期,则直接登录成功。如果没有用户信息或者token过期,则需要重新登录(重新刷新token有效期)

    2020-08-20
    有用 2
    回复 2
    • Mu
      Mu
      2020-08-20
      嗯。。。大概理解了,之前就是想问 那个是我能作为唯一标识来保存的用户信息
      2020-08-20
      回复
    • จุ๊บ
      จุ๊บ
      2020-08-20回复Mu
      如果不需要用户信息,可以直接用wx.login 来获取openid 当做唯一标识,而且这个是无感的
      2020-08-20
      1
      回复
  • 浪花骑士
    浪花骑士
    2020-08-20

    "不需要什么敏感信息"用wx.login就行了,还是静默用户无感知的

    2020-08-20
    有用 1
    回复 7
    • Mu
      Mu
      2020-08-20
      wx.login的区别就是没有用户名头像那些用户自己可改的信息是吧? 所获得的就是微信唯一的openid
      2020-08-20
      回复
    • 浪花骑士
      浪花骑士
      2020-08-20回复Mu
      是的,获取到了微信的openid然后存到你们后端,
      实现你们自己的登录鉴权逻辑就算是登录了,
      wx.getUserInfo是用来获取用户信息的,
      wx.login和wx.getUserInfo都能用来获取openid,
      一个无需授权,一个需要授权,
      需要授权就能得到用户头像等信息,
      看你业务需求,如果不需要获取用户头像之类的,
      用wx.login就行了
      2020-08-20
      回复
    • Mu
      Mu
      2020-08-20回复浪花骑士
      然后wx.login获得一个code,再去用这个获得open_id,getUserInfo是用encryptedData去解密来获得open_id是这样的吗
      2020-08-20
      回复
    • 浪花骑士
      浪花骑士
      2020-08-20回复Mu
      是的,相关流程文档说得比较清楚
      2020-08-20
      回复
    • Mu
      Mu
      2020-08-20回复浪花骑士
      还是得搭配各位的只言片语更容易理解。。。光看文档有时候绕腾
      2020-08-20
      回复
    查看更多(2)
  • 青寒
    青寒
    2020-08-20

    以便来保存以前的信息”,你保存在哪里了?用户第一次进来的时候,直接保存openid呗,下次进来直接比对已保存的记录。

    2020-08-20
    有用 1
    回复 5
    • Mu
      Mu
      2020-08-20
      其实我就是没有唯一标识我把信息保存在哪? 现在大概明白了用户进入就有openid了,这个不等同于登录的概念是吧
      2020-08-20
      回复
    • 青寒
      青寒
      2020-08-20回复Mu
      如果你需要那种弹出用户登录授权弹框,就算是获取用户敏感信息了。
      2020-08-20
      回复
    • Mu
      Mu
      2020-08-20回复青寒
      敏感信息就是用户自己设定的头像用户名那些?
      2020-08-20
      回复
    • 青寒
      青寒
      2020-08-20回复Mu
      用户头像、昵称、性别、所在国家地区,这些肯定算是敏感信息,所以才需要弹窗,让用户自己主动授权同意。
      2020-08-20
      回复
    • Mu
      Mu
      2020-08-20回复青寒
      明白了,之前理解反了,开始以为这些微信能看到的是明文信息,openid是秘密的
      2020-08-20
      回复
  • 拾忆
    拾忆
    2020-08-20

    那你只要openid就可以了,也不需要做登陆,登陆有什么意义?你只要判断当前缓存中有openid信息就说明用户之前访问过,没有的话就说明之前没访问过就行了。

    2020-08-20
    有用 1
    回复 4
    • Mu
      Mu
      2020-08-20
      呃。。。为什么这个社区都喜欢反问一句呢。。。 新人确实不明白。 我以为是要先登录注册,才能获得openid
      2020-08-20
      回复
    • 青寒
      青寒
      2020-08-20回复Mu
      “为什么这个社区都喜欢反问一句呢”,应该是想引导新人思考。另,这个社区点“有用”和点赞是表达谢意的方式。
      2020-08-20
      回复
    • Mu
      Mu
      2020-08-20回复青寒
      应该也添加一下类似StackOverflow那种vote to close那种机制,来关闭一些 不能产出优质答案的低质问题,包括我刚开始接触开发也经常提这类问题,有时候也表达不清问题。比如这个问题,我开始的理解,是需要用户先登录,我才能看到非敏感的openid。但实际上现在了解到,是只要他进入小程序,这个openid就是公开可获得的,以此在来存储相对唯一的这个标识信息。
      2020-08-20
      回复
    • 青寒
      青寒
      2020-08-20回复Mu
      了解了就好。另外社区有折叠机制,虽然不太想普及,“△有用”按钮旁边的“▽”就是。
      2020-08-20
      回复
  • 张翠红。
    张翠红。
    发表于移动端
    2020-08-20
    翠红
    2020-08-20
    有用
    回复 1
    • 俊杰Hiro
      俊杰Hiro
      2020-08-20
      冬梅
      2020-08-20
      回复
登录 后发表内容
问题标签