V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
just1
V2EX  ›  问与答

小程序云开发的用户登录问题

  •  
  •   just1 · 2020-04-12 19:58:54 +08:00 · 1500 次点击
    这是一个创建于 1447 天前的主题,其中的信息可能已经有所发展或是发生改变。

    初次使用小程序云开发

    官方有提供了用户管理 demo,但是里面的逻辑令我感到比较奇怪

    https://github.com/TencentCloudBase/Cloudbase-Examples/tree/master/miniprogram/tcb-demo-user

    登录函数

    https://github.com/TencentCloudBase/Cloudbase-Examples/blob/master/miniprogram/tcb-demo-user/client/components/login.js

    这里用到了 wx.login 的接口,为了获得用户 openId,但是实际上在云函数内部可以使用 Cloud.getWXContext 获得微信调用上下文,包含了 openId,那么在纯云开发的环境下是否就可以不需要 wx.login 呢?

    获取用户信息函数

    https://github.com/TencentCloudBase/Cloudbase-Examples/blob/master/miniprogram/tcb-demo-user/cloud/functions/verifyIdentity/index.js

    再来,里面有一个 Status 的 collection,储存 wx.login 得到的 session 以及 openId,在登录后进行操作的时候会附上 session,云函数在 status 查找 session 获得对应 openId,然后在 User 里查询 openId 对应的用户信息。

    同上面的问题,可以直接获得 openId,那 status 是否有存在的必要呢?如果需要用户态过期,User 里多一个 expireTime 就可以实现了吧?

    2 条回复    2020-04-16 12:43:23 +08:00
    just1
        1
    just1  
    OP
       2020-04-12 20:55:48 +08:00
    emm 有没有大佬指点一下
    lidongyx
        2
    lidongyx  
       2020-04-16 12:43:23 +08:00 via iPhone
    是,云开发免鉴权登录,不需要 wx.login,案例有很大的迷惑性。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2794 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 12:21 · PVG 20:21 · LAX 05:21 · JFK 08:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.