🚀 Guía de Integración: Wobe Cloud
Wobe Cloud es una solución integral para desarrolladores que permite implementar Login Unificado (SSO) y Almacenamiento en la Nube (NoSQL) sin necesidad de gestionar servidores propios o bases de datos complejas.
⚠️ Notas sobre el uso de Wobe Cloud Storage
Wobe Cloud está diseñado para llevar configuraciones, progresos e historiales de forma multiplataforma.
Ideal para: Guardar estados de juego, preferencias de interfaz, historiales, inventarios pequeños o notas de usuario.
Cuándo usar un servidor propio: Si tu app genera volúmenes masivos de datos (logs constantes o archivos pesados). En ese caso, usa Wobe Login para identificar al usuario y gestiona los datos pesados en tu servidor usando el alias de Wobe como ID único.
1. Registro de tu Aplicación
Antes de empezar, da de alta tu servicio en el Panel de Developers:
Service ID: El nombre único de tu app (ej: Wobe App).
appPass: Tu contraseña maestra. Es vital para leer/escribir datos de forma segura.
2. Autenticación (SSO)
Para que un usuario entre a tu app con su cuenta de Wobe, redirígelo a: https://wobeaccounts.pages.dev/?Service=TU_ID&Redirection=TU_URL&auto=false
Redirection: La URL de tu app.
auto: Usa false para que el usuario reciba un código (token) manual para copiar y pegar. Si usas true, el usuario sera redirigido a Redirection /?token=Token_del_usuario. Ideal para hacer validaciones automaticas.
Verificar el Código de Acceso
Una vez que el usuario te entregue el token, valídalo mediante una petición GET: https://ludavideo-backend.vercel.app/wobe-auth?action=verify&token=EL_CODIGO&service_id=TU_ID
Respuesta: Si es correcto, el servidor devolverá el nombre del usuario (ej: luciano).
3. Almacenamiento en la Nube (Cloud Storage)
Wobe maneja los datos de forma anidada por cada aplicación.
A. Guardar o Actualizar datos (SET)
Realiza una petición POST al endpoint: https://ludavideo-backend.vercel.app/wobe-auth?action=storage
Cuerpo (JSON):
JSON
{
"method": "SET",
"service_id": "TU_ID",
"appPass": "TU_APPPASS",
"usuario": "nombre_usuario",
"data": {
"notes": [...],
"config": { "tema": "oscuro" }
}
}
Nota: El campo data debe ser un objeto JSON puro, no un string.
B. Recuperar datos (GET)
Envía un POST con el mismo formato pero cambiando el método a "GET".
Estructura de la respuesta: El servidor siempre devuelve los datos dentro de la propiedad .data:
JSON
{
"status": "success",
"data": {
"notes": [...],
"config": { "tema": "oscuro" }
}
}
Si el usuario no tiene datos previos, data será un objeto vacío {}.
4. Seguridad y Buenas Prácticas
Estructura de Datos: Envía siempre el campo data como objeto. Evita JSON.stringify() interno para que la información sea fácil de procesar.
Protección del appPass: Es la llave maestra. Nunca la expongas en repositorios públicos. Se recomienda usar un backend propio para realizar las peticiones y ocultar esta clave.
Tokens Temporales: Los tokens de Wobe expiran en 60 segundos. Deben canjearse inmediatamente.
Sesión Local: Una vez validado el usuario, guárdalo en localStorage para mantener la sesión activa sin pedir permisos constantemente.
5. Ejemplo de Implementación (JavaScript)
JavaScript
// Guardar notas
async function syncCloud(notas) {
await fetch(URL, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
method: "SET",
service_id: "TU_ID",
appPass: "TU_CLAVE",
usuario: "USUARIO_DEL_USUARIO",
data: { notes: notas }
})
});
}
6. Solicitar datos de servicios de terceros
Si por algún motivo quieres que tu app pueda ver cuanto elo tiene el usuario en Wobe Chess o su historial en LUDAVIdeo? Esto es totalmente posible con el parámetro ?RequestService=Servicio como, por ejemplo, si quieres acceder a la cantidad de elo que tiene el usuario en Wobe Chess y el nombre de tu servicio es LUDAVIdeo la URL seria ?Service=ludavideo&Redirection=free.ludavideo.ct.ws&RequestService=Wobe%20Chess haciendo que al usuario le salga una nueva pantalla permitiéndole ver los datos que compartirá con tu app. Pero tienes que ser cuidadoso con esto porque tienes que escribir el nombre del servicio tal y como esta guardado (Como aparece en Wobe Accounts) y además si la app Wobe Chess devuelve "elo" y tu app busca "Elo" no podras ver el elo de cada usuario. Existe un diccionario de cómo se guardan los datos en apps oficiales de Wobe pero es posible que tengas que consultar al desarrollador de otra app si quieres que tu app acceda a los datos del usuario en esa app.