WebApi 如何实现二维码过期?

2021-04-01 17:37:49 +08:00
 cobyx

是这样的,有一个签到的需求,为了防止拍照二维码给别人扫签到,所以想弄一个二维码过期的功能 求实现思路

2692 次点击
所在节点    程序员
27 条回复
eason1874
2021-04-01 18:23:02 +08:00
这个看你的 token 有没有状态,有状态你直接存多一个有效期就行了。

无状态就用 JWT,expires_in 设置一分钟,就可以了。
yujiang
2021-04-01 18:25:47 +08:00
集成到微信里要求绑定微信用户?
jmk92
2021-04-01 18:27:24 +08:00
前端 js 实现过期,后端也是过期的逻辑,为了避免误差,比前端多个几秒。
二维码是个网址,完全可以带个参数,防止生成还可以用可逆的加密,比如把当前时间作为参数,你后端不方便判断吗。
noobma
2021-04-01 18:47:34 +08:00
放 redis 吧,key 设置过期时间,如果签到使用后把 key 删掉
zjb861107
2021-04-01 19:43:24 +08:00
参数添加一个没用的字符串,生成一个比较长的 URL 。这样当场扫码还好一点,但是拍照以后再给别人扫,因为拍照的光照和角度原因就不容易成功了。

至于具体这个随机的字符串要多长,可以 A/B 测试根据具体效果来调整
tonyaiken
2021-04-01 23:57:11 +08:00
@hjosama 时间戳明文会被伪造吧?
dingwen07
2021-04-02 22:22:21 +08:00
用 OATH-TOTP 生成一个 30 秒有效期的 OTP 加在二维码的链接里,明文还是加密随意

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

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

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

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

© 2021 V2EX