react-native-zoom-us突然报错需jwtToken,原用Meeting SDK密钥认证该如何处理
解决react-native-zoom-us要求jwtToken的问题
问题根源
你用的react-native-zoom-us组件大概率是自动更新到了新版本,这个版本把认证逻辑改成了强制要求Meeting SDK JWT——注意这不是Zoom废弃的旧JWT,而是现在官方主推的Meeting SDK认证方式,本质还是用你的Client Key和Secret Key生成的。
具体解决办法
1. 生成Meeting SDK JWT
用你的Client Key(也就是API Key)和Secret Key,按Zoom规则生成JWT就行。JWT的payload要包含这几个字段:
iss: 你的Client Keyexp: 过期时间戳(比如当前时间加1小时,转成秒级时间戳)token_exp: 可选,设置token有效期,比如填"3600"(1小时)
给个Node.js的生成示例,其他语言也可以用对应的JWT库:
const jwt = require('jsonwebtoken'); const apiKey = '你的Client Key'; const apiSecret = '你的Secret Key'; const payload = { iss: apiKey, exp: Math.floor(Date.now() / 1000) + 3600, token_exp: "3600" }; const meetingSdkJwt = jwt.sign(payload, apiSecret);
2. 替换初始化代码
把原来用Client Key和Secret Key初始化的代码,改成用生成的JWT:
import ZoomUS from 'react-native-zoom-us'; const jwtToken = '你生成的Meeting SDK JWT'; ZoomUS.initialize(jwtToken) .then(() => console.log('Zoom初始化成功')) .catch(err => console.error('Zoom初始化失败', err));
3. 回退组件版本(可选)
如果不想改认证逻辑,也可以回退到之前能用的旧版本。在package.json里指定版本号:
"react-native-zoom-us": "X.X.X"
然后执行npm install或者yarn install就能回退。
重要提醒
- Meeting SDK JWT是Zoom现在合法的认证方式,别和废弃的旧JWT搞混,官方文档里明确要求用这个做Meeting SDK的初始化。
- Secret Key一定要保存在后端,绝对不能暴露在前端代码里,JWT最好在后端生成后再传给前端用。
内容的提问来源于stack exchange,提问作者Omesh Sharma
相关产品推荐
相关产品推荐

