×

文章
2023.08.17

小程序登录态别往接口里塞一长串

1 分钟读完 3271 次阅读 PHP 小程序 登录 接口

图书馆小程序早期把 openid、过期时间、签名全拼进 query。日志里到处是密钥形状的字符串,也不好缓存。

现在怎么做

微信 code 换一次,服务端发自己的短 token。后面请求只带这个。openid 只在表里,不进 URL。

POST /interface/userapp/login  { code }
-> { token, expire }

token 随机 32 字节,存哈希。原值只给客户端一次。过期滑动续,但续期有上限,避免一张票用到天荒。

踩过的

  • 开发者工具和真机 code 不能混用,报错看起来像签名错。
  • 不要把 unionid 当用户主键,有的号暂时没有。
  • 登录接口限流,防被刷 code。

登录态是钥匙。钥匙出现在 access.log 里,就等于把门牌写在街上。