You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React集成Zoom SDK遇ERR_OSSL_EVP_UNSUPPORTED错误求助

React集成Zoom SDK遭遇ERR_OSSL_EVP_UNSUPPORTED错误

我正在React应用中集成Zoom SDK,已严格按照官方示例步骤操作,后端签名接口可正常返回结果,但前端运行时抛出以下错误:

Error: error:0308010C:digital envelope routines::unsupported
at new Hash (node:internal/crypto/hash:71:19)
at Object.createHash (node:crypto:140:10)
at module.exports (/Users/vickpro/React projects/expert-buddy-demo/Frontend/node_modules/webpack/lib/util/createHash.js:135:53)
at NormalModule._initBuildHash (/Users/vickpro/React projects/expert-buddy-demo/Frontend/node_modules/webpack/lib/NormalModule.js:417:16)
at handleParseError (/Users/vickpro/React projects/expert-buddy-demo/Frontend/node_modules/webpack/lib/NormalModule.js:471:10)
at /Users/vickpro/React projects/expert-buddy-demo/Frontend/node_modules/webpack/lib/NormalModule.js:503:5
at /Users/vickpro/React projects/expert-buddy-demo/Frontend/node_modules/webpack/lib/NormalModule.js:358:12
at /Users/vickpro/React projects/expert-buddy-demo/Frontend/node_modules/loader-runner/lib/LoaderRunner.js:373:3
at iterateNormalLoaders (/Users/vickpro/React projects/expert-buddy-demo/Frontend/node_modules/loader-runner/lib/LoaderRunner.js:214:10)
at iterateNormalLoaders (/Users/vickpro/React projects/expert-buddy-demo/Frontend/node_modules/loader-runner/lib/LoaderRunner.js:221:10)
/Users/vickpro/React projects/expert-buddy-demo/Frontend/node_modules/react-scripts/scripts/start.js:19
  throw err;
  ^

Error: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:71:19)
    at Object.createHash (node:crypto:140:10)
    at module.exports (/Users/vickpro/React projects/expert-buddy-demo/Frontend/node_modules/webpack/lib/util/createHash.js:135:53)
    at NormalModule._initBuildHash (/Users/vickpro/React projects/expert-buddy-demo/Frontend/node_modules/webpack/lib/NormalModule.js:417:16)
    at /Users/vickpro/React projects/expert-buddy-demo/Frontend/node_modules/webpack/lib/NormalModule.js:452:10
    at /Users/vickpro/React projects/expert-buddy-demo/Frontend/node_modules/webpack/lib/NormalModule.js:323:13
    at /Users/vickpro/React projects/expert-buddy-demo/Frontend/node_modules/loader-runner/lib/LoaderRunner.js:367:11
    at /Users/vickpro/React projects/expert-buddy-demo/Frontend/node_modules/loader-runner/lib/LoaderRunner.js:233:18
    at context.callback (/Users/vickpro/React projects/expert-buddy-demo/Frontend/node_modules/loader-runner/lib/LoaderRunner.js:111:13)
    at /Users/vickpro/React projects/expert-buddy-demo/Frontend/node_modules/babel-loader/lib/index.js:59:103 {
  opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
  library: 'digital envelope routines',
  reason: 'unsupported',
  code: 'ERR_OSSL_EVP_UNSUPPORTED'
}

我已尝试两种解决方案,但均未奏效:

  • 将项目webpack从v4.44.2升级至最新版v5.75.0
  • 更新Node.js至最新版本

以下是我的App.js代码:

import React from "react";

import "App.css";
import { ZoomMtg } from "@zoomus/websdk";

ZoomMtg.setZoomJSLib("https://source.zoom.us/2.9.7/lib", "/av");

ZoomMtg.preLoadWasm();
ZoomMtg.prepareWebSDK();
// loads language files, also passes any error messages to the ui
ZoomMtg.i18n.load("en-US");
ZoomMtg.i18n.reload("en-US");

function App() {
  // setup your signature endpoint here
  var signatureEndpoint = "http://localhost:4000";
  // This Sample App has been updated to use SDK App type credentials
  var sdkKey = "nMYXtjORjReaes6NpngNPakcKP3CiFdIfN7D";
  var meetingNumber = "85433353829";
  var role = 0;
  var leaveUrl = "http://localhost:3000";
  var userName = "React";
  var userEmail = "vickbishnoi@gmail.com";
  var passWord = "000000";
  // pass in the registrant's token if your meeting or webinar requires registration
  var registrantToken = "";

  function getSignature(e) {
    e.preventDefault();

    fetch(signatureEndpoint, {
      method: "POST",
      headers: { "Content-Type": "application/json" },
      body: JSON.stringify({
        meetingNumber: meetingNumber,
        role: role,
      }),
    })
      .then((res) => res.json())
      .then((response) => {
        startMeeting(response.signature);
      })
      .catch((error) => {
        console.error(error);
      });
  }

  function startMeeting(signature) {
    document.getElementById("zmmtg-root").style.display = "block";

    ZoomMtg.init({
      leaveUrl: leaveUrl,
      success: (success) => {
        console.log(success);

        ZoomMtg.join({
          signature: signature,
          meetingNumber: meetingNumber,
          userName: userName,
          sdkKey: sdkKey,
          userEmail: userEmail,
          passWord: passWord,
          tk: registrantToken,
          success: (success) => {
            console.log(success);
          },
          error: (error) => {
            console.log(error);
          },
        });
      },
      error: (error) => {
        console.log(error);
      },
    });
  }

  return (
    <div className="App">
      <main>
        <h1>Zoom Meeting SDK Sample React</h1>

        <button onClick={getSignature}>Join Meeting</button>
      </main>
    </div>
  );
}

export default App;

页面还显示对应错误截图:
前端错误截图

这是我面试公司的任务环节,需要实现创建Zoom会议、分享会议链接、参会后跳转反馈页的功能,急需技术协助。

内容的提问来源于stack exchange,提问作者Vikas Jyani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 03:55:16