• 腾讯会议对接日记——JWT Tocken使用方法


    一、前言

    最近有个需求,要对接腾讯会议

    主要有3个方面:

    1.人员信息要传给腾讯,才能生成用户,才能参与腾讯会议;用到了IDaaS开放平台。
    2.要通过接口创建会议、取消会议等。
    3.后续主要需要从腾讯获取参会人员信息、参会时长等数据。

    调用IDaaS开放平台的接口,用到了JWT Tocken;在此记录下使用方法。

    二、JWT Tocken使用方法

    1.JWT Tocken的组成部分

    标准的JWT Tocken由3部分组成,分别是header、payload、signature;如下:

    xxx.yyy.zzz
    
    • 1

    (1)header中会有参数类型、加密方法等信息,也可以自定义增加些其它信息,例如keyId等。
    原始的header例如:

    {
      "typ": "JWT",
      "alg": "HS256",
      "version": "1.0"
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5

    当header加密后,就变成了:

    xxx
    
    • 1

    (2)payload中会有登录用户的一些信息,例如用户id、token的发行时间、过期时间等,也可以自定义增加些其它信息。
    原始的payload例如:

    {
      "userId": "001",
      "userName": "zhangsan"
    }
    
    • 1
    • 2
    • 3
    • 4

    当payload加密后,就变成了:

    yyy
    
    • 1

    (3)signature中,会有签名信息,签名信息是把header、payload中的内容加密后生成的;其中会用到一个私钥(可以理解为只保存在服务器内部的一串字符串,不对外公开,仅加解密用)。
    原始的signature例如:

    HMACSHA256(
      base64UrlEncode(header) + "." +
      base64UrlEncode(payload),
      myprivateKeyAbc123_alsdkjfaldjfwqer
    )
    
    • 1
    • 2
    • 3
    • 4
    • 5

    这个方法执行后,就变成了:

    zzz
    
    • 1

    (4)最后,这3部分拼接起来,就是:

    xxx.yyy.zzz
    
    • 1

    这个就是JWT token;客户端先想办法生成这个tocken,然后传给服务器端;服务器端验证tocken合法性,进行解密,获取其中的信息,用这些信息继续进行下一步逻辑。

    2.http/https中JWT tocken的使用方法

    上面讲到了,JWT tocken中有header、payload、signature;

    注意这个header,与http、https请求中的header是不一样的。

    与腾讯会议对接中,JWT token是要放在Bearer请求头中的,样例如下:

    Authorization Bearer xxx.yyy.zzz
    
    • 1

    其中,Authorization是header中的key;
    Bearer xxx.yyy.zzz是header中对应的value;
    Bearer 是固定写法,注意后面有一个空格;
    xxx.yyy.zzz就是JWT tocken。

    这样,http/https请求头中就带上JWT tocken了。

    三、其它笔记

    可以访问https://jwt.io/页面进行JWT tocken的加解密。

  • 相关阅读:
    Maxcompute-UNION数据类型对齐的方法
    【开发环境】mysql5.7.xx win安装
    平面运动机器人的传感器外参标定
    【Dart】002-函数
    【FPGA的小娱乐】在tft显示屏上画X型
    如何设置从小程序跳转到其它小程序
    redis探索之常用的三种缓存读写策略
    【数据分享】上海市出租车GPS数据
    华为机试真题 C++ 实现【水仙花数II(字符串分割)】
    QT多语言冷实现以及注意事项
  • 原文地址:https://blog.csdn.net/BHSZZY/article/details/126490619