[mirotalksfu] - add JWT, update dep
هذا الالتزام موجود في:
@@ -11,7 +11,7 @@ if (location.href.substr(0, 5) !== 'https') location.href = 'https' + location.h
|
||||
* @license For commercial or closed source, contact us at license.mirotalk@gmail.com or purchase directly via CodeCanyon
|
||||
* @license CodeCanyon: https://codecanyon.net/item/mirotalk-sfu-webrtc-realtime-video-conferences/40769970
|
||||
* @author Miroslav Pejic - miroslav.pejic.85@gmail.com
|
||||
* @version 1.3.65
|
||||
* @version 1.3.66
|
||||
*
|
||||
*/
|
||||
|
||||
@@ -175,8 +175,7 @@ let room_id = getRoomId();
|
||||
let room_password = getRoomPassword();
|
||||
let peer_name = getPeerName();
|
||||
let peer_uuid = getPeerUUID();
|
||||
let peer_username = getPeerUsername();
|
||||
let peer_password = getPeerPassword();
|
||||
let peer_token = getPeerToken();
|
||||
let isScreenAllowed = getScreen();
|
||||
let isHideMeActive = getHideMeActive();
|
||||
let notify = getNotify();
|
||||
@@ -230,7 +229,7 @@ let initStream = null;
|
||||
|
||||
let scriptProcessor = null;
|
||||
|
||||
const RoomURL = window.location.origin + '/join/' + room_id;
|
||||
const RoomURL = window.location.origin + '/join/' + room_id; // window.location.origin + '/join/?room=' + roomId + '&token=' + myToken
|
||||
|
||||
let transcription;
|
||||
|
||||
@@ -690,28 +689,16 @@ function getPeerUUID() {
|
||||
return peer_uuid;
|
||||
}
|
||||
|
||||
function getPeerUsername() {
|
||||
if (window.sessionStorage.peer_username) return window.sessionStorage.peer_username;
|
||||
function getPeerToken() {
|
||||
if (window.sessionStorage.peer_token) return window.sessionStorage.peer_token;
|
||||
let qs = new URLSearchParams(window.location.search);
|
||||
let username = filterXSS(qs.get('username'));
|
||||
let queryUsername = false;
|
||||
if (username) {
|
||||
queryUsername = username;
|
||||
let token = filterXSS(qs.get('token'));
|
||||
let queryToken = false;
|
||||
if (token) {
|
||||
queryToken = token;
|
||||
}
|
||||
console.log('Direct join', { username: queryUsername });
|
||||
return queryUsername;
|
||||
}
|
||||
|
||||
function getPeerPassword() {
|
||||
if (window.sessionStorage.peer_password) return window.sessionStorage.peer_password;
|
||||
let qs = new URLSearchParams(window.location.search);
|
||||
let password = filterXSS(qs.get('password'));
|
||||
let queryPassword = false;
|
||||
if (password) {
|
||||
queryPassword = password;
|
||||
}
|
||||
console.log('Direct join', { password: queryPassword });
|
||||
return queryPassword;
|
||||
console.log('Direct join', { token: queryToken });
|
||||
return queryToken;
|
||||
}
|
||||
|
||||
function getRoomPassword() {
|
||||
@@ -755,8 +742,7 @@ function getPeerInfo() {
|
||||
peer_uuid: peer_uuid,
|
||||
peer_id: socket.id,
|
||||
peer_name: peer_name,
|
||||
peer_username: peer_username,
|
||||
peer_password: peer_password,
|
||||
peer_token: peer_token,
|
||||
peer_presenter: isPresenter,
|
||||
peer_audio: isAudioAllowed,
|
||||
peer_video: isVideoAllowed,
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
* @license For commercial or closed source, contact us at license.mirotalk@gmail.com or purchase directly via CodeCanyon
|
||||
* @license CodeCanyon: https://codecanyon.net/item/mirotalk-sfu-webrtc-realtime-video-conferences/40769970
|
||||
* @author Miroslav Pejic - miroslav.pejic.85@gmail.com
|
||||
* @version 1.3.65
|
||||
* @version 1.3.66
|
||||
*
|
||||
*/
|
||||
|
||||
@@ -374,11 +374,14 @@ class RoomClient {
|
||||
return this.isBanned();
|
||||
}
|
||||
const peers = new Map(JSON.parse(room.peers));
|
||||
for (let peer of Array.from(peers.keys()).filter((id) => id !== this.peer_id)) {
|
||||
let peer_info = peers.get(peer).peer_info;
|
||||
if (peer_info.peer_name == this.peer_name) {
|
||||
console.log('00-WARNING ----> Username already in use');
|
||||
return this.userNameAlreadyInRoom();
|
||||
if (!peer_info.peer_token) {
|
||||
// hack...
|
||||
for (let peer of Array.from(peers.keys()).filter((id) => id !== this.peer_id)) {
|
||||
let peer_info = peers.get(peer).peer_info;
|
||||
if (peer_info.peer_name == this.peer_name) {
|
||||
console.log('00-WARNING ----> Username already in use');
|
||||
return this.userNameAlreadyInRoom();
|
||||
}
|
||||
}
|
||||
}
|
||||
await this.joinAllowed(room);
|
||||
@@ -909,7 +912,10 @@ class RoomClient {
|
||||
}
|
||||
|
||||
getReconnectDirectJoinURL() {
|
||||
return `${window.location.origin}/join?room=${this.room_id}&password=${this.RoomPassword}&name=${this.peer_name}&audio=${this.peer_info.peer_audio}&video=${this.peer_info.peer_video}&screen=${this.peer_info.peer_screen}¬ify=0&isPresenter=${isPresenter}`;
|
||||
return (
|
||||
`${window.location.origin}/join?room=${this.room_id}&password=${this.RoomPassword}&name=${this.peer_name}&audio=${this.peer_info.peer_audio}&video=${this.peer_info.peer_video}&screen=${this.peer_info.peer_screen}¬ify=0&isPresenter=${isPresenter}` +
|
||||
(this.peer_info.peer_token ? `&token=${peer_info.peer_token}` : '')
|
||||
);
|
||||
}
|
||||
|
||||
// ####################################################
|
||||
|
||||
@@ -164,16 +164,21 @@
|
||||
console.log(response);
|
||||
|
||||
// Store in session
|
||||
window.sessionStorage.peer_username = username;
|
||||
window.sessionStorage.peer_password = password;
|
||||
const token = response.data.message;
|
||||
window.sessionStorage.peer_token = token;
|
||||
|
||||
if (room) {
|
||||
return (window.location.href =
|
||||
'/join/' + window.location.search);
|
||||
/*
|
||||
return (window.location.href =
|
||||
'/join/?room=' + room + '&token=' + token); */
|
||||
}
|
||||
|
||||
if (roomPath) {
|
||||
return (window.location.href = '/join/' + roomPath);
|
||||
/*
|
||||
return (window.location.href =
|
||||
'/join/?room=' + roomPath + '&token=' + token); */
|
||||
}
|
||||
|
||||
return (window.location.href = '/logged');
|
||||
|
||||
المرجع في مشكلة جديدة
حظر مستخدم