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

文章目录

    是否存在伪造用户 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 聊聊,或者关注我的个人公众号“大象工具”, 查看更多联系方式