¿Cómo puedo asegurarme de que una imagen realmente proviene de mi usuario correcto?
El backend de tu aplicación debe autenticar al usuario y autorizar la carga. Mantén el Auth Secret de Transloadit en ese backend de confianza. Deriva las Instructions permitidas a partir de la sesión autenticada; firmar a ciegas un ID de usuario proporcionado por el navegador no lo verifica.
Signature Authentication protege exactamente los bytes de la cadena params serializada. En las solicitudes firmadas ordinarias, cambiar params.fields después de firmar invalida la firma. No firma los campos multipart independientes ni los bytes de los archivos cargados. Un campo multipart posterior sin firmar puede reemplazar un campo firmado con el mismo nombre en los campos combinados de la Assembly, por lo que firmar params.fields.user_id no hace que el fields.user_id final sea de confianza.
Habilita Signature Authentication para tu Workspace cuando aceptes solicitudes firmadas desde el navegador. Incluye un auth.expires de corta duración y devuelve los params serializados originales junto con su firma. La expiración limita la ventana de reutilización; no es una garantía de uso único. La creación de una Assembly puede reutilizar params firmados idénticos antes de la expiración, incluidos los params con un nonce. Una solicitud copiada no demuestra que su remitente siga con la sesión iniciada. Una autenticación Bearer válida cumple el requisito de firma sin comprobar ninguna firma proporcionada; protege los tokens Bearer según su ámbito.
Para una asociación controlada por tu aplicación, crea la Assembly desde tu backend de confianza y registra el assembly_id devuelto junto con el usuario autenticado. Sigue la guía de cargas reanudables para permitir que el cliente cargue archivos en esa Assembly existente, y mantén privado su acceso de carga. Esta es una integración distinta del plugin de Transloadit de Uppy, que crea la Assembly desde el navegador mediante assemblyOptions.
Antes de conceder acceso a los resultados, comprueba el Assembly Status con el registro propio de tu aplicación. En el caso de los webhooks, primero verifica la firma de la entrega y luego comprueba el ID de la Assembly con ese registro. No derives la titularidad a partir de los campos devueltos ni de un ID de Assembly que indique un cliente. Esto registra la carga que autorizó tu aplicación; no establece quién creó la imagen ni demuestra el contenido de los bytes cargados.