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

2020-04-12 19:58:54 +08:00
 just1

初次使用小程序云开发

官方有提供了用户管理 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 就可以实现了吧?

1520 次点击
所在节点    问与答
2 条回复
just1
2020-04-12 20:55:48 +08:00
emm 有没有大佬指点一下
lidongyx
2020-04-16 12:43:23 +08:00
是,云开发免鉴权登录,不需要 wx.login,案例有很大的迷惑性。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/661745

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX