问题描述
我已使用此 module 在我的 React 应用程序中集成了 jitsi。代码如下:
import React,{ useState } from "react";
import { Jutsu } from "react-jutsu";
const App = () => {
const [room,setRoom] = useState("");
const [name,setName] = useState("");
const [call,setCall] = useState(false);
const [password,setPassword] = useState("");
const handleClick = (event) => {
event.preventDefault();
if (room && name) setCall(true);
};
return call ? (
<div>
<h6>LoDeep Room created by host</h6>
<Jutsu
roomName={room}
displayName={name}
password={password}
onMeetingEnd={() => console.log("Meeting has ended")}
loadingComponent={<p>loading ...</p>}
errorComponent={<p>Oops,something went wrong</p>}
/>
</div>
) : (
<form>
<input
id="room"
type="text"
placeholder="Room"
value={room}
onChange={(e) => setRoom(e.target.value)}
/>
<input
id="name"
type="text"
placeholder="Name"
value={name}
onChange={(e) => setName(e.target.value)}
/>
<input
id="password"
type="text"
placeholder="Password (optional)"
value={password}
onChange={(e) => setPassword(e.target.value)}
/>
<button onClick={handleClick} type="submit">
Start / Join
</button>
</form>
);
};
export default App;
这通过使用 Jitsi 公共服务器将 Jitsi 无缝集成到应用中。
这种方法的问题在于,如果登录的用户与他们共享公共 jitsi 房间链接,则未登录我的应用程序的用户可能能够访问这些 jitsi 房间。例如:
我想阻止未连接到我的应用程序的用户访问我的应用程序内的 Jitsi 房间。
我是否必须在私人服务器中托管 Jitsi 才能执行此操作?
解决方法
您可以为访问会议实例的用户身份验证实施 JWT。
文档是 here,您可以查看 Jitsi 社区的 setup guide。