小程序开发,要不要把用户的 openid 缓存到本地

2022-12-19 21:21:37 +08:00
 gebishushu

如果真缓存到本地 假如把 openid 当成 token 来用 可行吗?

3131 次点击
所在节点    程序员
14 条回复
Liang
2022-12-19 21:32:17 +08:00
可以是可以,但 openid 毕竟是有规律的。还是建议 jwt 之类的做 token ,而且可以做有效期之类的比对
tanranran
2022-12-19 22:16:57 +08:00
不可行
Exdui
2022-12-19 22:24:00 +08:00
不推荐使用 openid 做 token 。
xwchaoa
2022-12-19 22:28:18 +08:00
不可以
vace
2022-12-19 22:30:17 +08:00
授权给第三方平台,都可以拿到对应用户的 openid ,在多个平台中,openid 都是一样的。
kalthus
2022-12-20 09:30:57 +08:00
@vace 多个平台应该是 unionid 一样吧,而 unionid 需要在开放平台绑定这多个平台才有
kalthus
2022-12-20 09:32:05 +08:00
理论上来说 openid 可以作为 token (因为 openid 只在当前平台有效),但是实际应用中,不推荐这样做处理,个人理解,勿喷
ithinkseesee
2022-12-20 09:39:53 +08:00
如果是第三方的服务器就不太安全,如果是用微信云开发就可以,云开发中可以验证这个请求是不是这个 openid 的
chendy
2022-12-20 10:05:30 +08:00
不可以,除非系统的安全要求低到允许用用户 id 做 token
flyingghost
2022-12-20 18:09:00 +08:00
一个用户标识符:
应该可以唯一确定一名用户。openid ✅
一般是静态不变的。openid ✅

一个认证过程:
微信内动态获取 openid 的过程 ✅
手填的 openid ❎
静态缓存的 openid ❎

一个认证结果 /后续请求凭据:
有合适的短暂的生命周期。token ✅,openid ❎
能够充分证明请求者合法性。token ✅,openid ❎


OP 你把身份标识和身份认证给搞混了。
dabennn
2022-12-21 11:43:06 +08:00
可以是可以,但不推荐。openid 是在微信那里的身份标识,token 是用来做身份认证的,在概念上有差异,混用的话后来人可能会打你。建议还是用正常的 token
akakidz
2022-12-21 14:58:23 +08:00
一个 openid 可能是存在多个对应的手机号的
puzzle9
2022-12-21 16:04:53 +08:00
其实吧
项目你和前端商量了下
觉得可行
也没什么问题
不过这里会牵扯到一点 他是永远有效的 因为同一个用户同一个应用的 openid 是一样的
再者 后续可能有其他人抓包发现了这个问题。。。。
cquan
2022-12-22 09:52:15 +08:00
看小程序的重要性吧,我看过好几个小程序是把 openid 当 token 的

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

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

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

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

© 2021 V2EX