golang gin jwt 管理微信小程序的登录态

更新日期: 2020-09-30 阅读次数: 4212 字数: 211 分类: golang

是否存在伪造用户 token 的可能

不容易实现。

虽然 jwt 是明文的,前面两部分通过 base64 解码即可看到明文。假设,里面存储了用户 id 或者 用户的 open id,但是即便被终端用户解密出结构。但是第三部分里的校验位 signature 由于是在服务器端加密生成的,密钥也在服务端,所以不容易实现伪造。

jwt 的结构

这个不急于验证,等我实现了功能之后,用自己生成的 token 来分析一下结构。

例如,接口返回一个 token:

{data: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2M…I6MX0.yIZgIf18IKsXFl1-lfQQnWyMHQ1LEIJgrra8BZ64cm4", err_code: 200, err_msg: "OK"}

解析出来的结构是:

{
 alg: "HS256",
 typ: "JWT"
}.
{
 exp: 1602728028,
 uid: 1
}.
[signature]

同一个 golang gin 支持多个小程序

完全可以,只需要每个不同小程序,对应不同 key,secret 就行。

关于作者 🌱

我是来自山东烟台的一名开发者,有敢兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式