“Agregar BigBlueButton” a una conferencia ya existente
Este plugin crea automáticamente una sala para ti cuando haces clic en “Agregar BigBlueButton”. Sin embargo, es posible que prefieras utilizar una sala ya existente (creada antes de instalar este plugin). Aquí tienes dos ejemplos de por qué podrías querer hacerlo.
-
Ya has creado una sala (con Greenlight, por ejemplo) y deseas permitir que las personas también se unan desde Discourse.
-
Permitir también que las personas se unan mediante un enlace: Al usar Greenlight (la interfaz frontal predeterminada), se genera un enlace compartible para unirse a la llamada. De esta forma, las personas pueden unirse desde Discourse o mediante el enlace.
Este es un proceso bastante intrusivo, así que asegúrate realmente de entender lo que estás haciendo
Instrucciones
Lo más probable es que la interfaz frontal que estás utilizando (¿Greenlight?) no te proporcione información de bajo nivel como el ID de la reunión o attendeePW (que es diferente del código de acceso de la sala; lo sé, es confuso). Por lo tanto, para obtener esos datos, tendremos que utilizar la API de BBB para listar toda la información de las reuniones.
Nota: Puede haber una mejor manera de hacer esto, pero no estoy al tanto. Si ese es el caso, házmelo saber.
Requisitos previos
- Acceso al servidor BBB mediante terminal (por ejemplo, vía SSH)
- Conocimientos básicos de Python (para verificar mi código)
- Comprensión de los riesgos de seguridad asociados con el uso de la API de BBB
1. Obtener la clave secreta y el punto final de la API de BBB
Accede a una terminal (vía SSH) donde se está ejecutando el servidor BBB y ejecuta:
sudo bbb-conf --secret
Esto te proporcionará una URL y una Secret. Ambos serán útiles más adelante.
¡Cualquiera que tenga esa clave secreta puede hacer cosas maliciosas en tu servidor! Así que manténla segura.
2. Crear un script en Python 3 para obtener la información de la reunión
A continuación, se muestra un sencillo script en Python 3 que toma tu URL y tu clave secreta (obtenidas en el paso 1) y genera la API para obtener la información de las reuniones:
No pegues simplemente scripts aleatorios que encuentres en internet (¡incluido este!). Revísalos, verifica que tengan sentido y, si es necesario, consulta la documentación de la API.
import hashlib
from urllib.parse import urljoin
# Inserta tus variables aquí
base_url = "PEGA_AQUI_TU_URL" + "api/"
secret = "PEGA_AQUI_TU_SECRET"
# Generar la suma de verificación de seguridad
plaintext = "getMeetings" + secret
sha1 = hashlib.sha1()
sha1.update(plaintext.encode('utf-8'))
checksum = sha1.hexdigest()
# Obtener la URL de la API para listar la información de las reuniones
url = urljoin(base_url, "getMeetings?checksum=" + checksum)
print("Abre la siguiente URL para ver la información de la reunión")
print(url)
Reemplaza PEGA_AQUI_TU_URL con la URL de la API obtenida anteriormente y PEGA_AQUI_TU_SECRET con tu clave secreta, y luego ejecuta el script.
Después de esto, debería imprimir una URL similar a: https://ejemplo.com/bigbluebutton/api/getMeetings?checksum=20e928e8928e8e9f919928e829d999df82882818
¡Cualquiera que tenga esa URL puede hacer cosas maliciosas!
Pueden ver todas las reuniones en curso, cuántos usuarios hay en cada una y obtener las credenciales para unirse.
3. Abrir la URL
Ábrela en modo de navegación privada para asegurarte de que la URL no se guarde en el historial del navegador debido a la advertencia anterior.
Simplemente inicia la reunión que pretendes agregar y actualiza esa página con la URL de la API. Entonces deberías ver algo como:
<response>
<returncode>SUCCESS</returncode>
<meetings>
<meeting>
<meetingName>Tu nombre de sala</meetingName>
<meetingID>XXXXXXXXXXXXXXXXXXXXXXXXXXX</meetingID>
...
<attendeePW>YYYYYYY</attendeePW>
<moderatorPW>ZZZZZZZ</moderatorPW>
...
Simplemente busca las líneas debajo de la reunión que deseas y toma:
- meetingID
- attendeePW
- moderatorPW
Una vez que hayas obtenido estos datos, borra todos los archivos y cierra todas las pestañas con acceso a la API.
¡No queremos ningún incidente de seguridad!
4. “Agregar BigBlueButton” a tu publicación
En lugar de agregarlo mediante la interfaz regular de “Agregar BigBlueButton”, simplemente pega lo siguiente en tu publicación:
[wrap=discourse-bbb meetingID="XXXXX" attendeePW="YYYYY" moderatorPW="ZZZZZ" mobileIframe="false" desktopIframe="false"][/wrap]
Y reemplaza los valores con lo que obtuviste en el paso 3:
- XXXXX con el contenido de
meetingID
- YYYYY con el contenido de
attendeePW
- ZZZZZZ con el contenido de
moderatorPW
Luego, guarda la publicación.
6. Ahora debería funcionar \o/
Ahora deberías poder unirte tanto desde Discourse como desde la otra interfaz frontal que estabas utilizando. Si era Greenlight, ahora también puedes unirte mediante enlace.}