Saltar al contenido principal

Proteger las claves de socio

Las claves de socio autorizan operaciones a nivel de proyecto. Guárdalas en un gestor de secretos del lado del servidor o en una variable de entorno cifrada, e inyéctalas solo en procesos de backend de confianza.
Nunca envíes una clave de socio a tu frontend como configuración, respuesta de API, parámetro de consulta o variable de entorno renderizada. Tu backend debe exponer endpoints acotados que autoricen al cliente con sesión iniciada antes de llamar a Social media studio.
Usa claves pk_test_ durante el desarrollo y claves pk_live_ solo en producción. Mantén separados los proyectos de prueba y de producción, rota las claves periódicamente y revoca una clave de inmediato si pudo haberse expuesto.

Autorizar cada operación de cliente

El SDK autentica a tu aplicación, no al cliente que usa tu producto. Antes de cada llamada al SDK:
  1. Autentica al cliente en tu aplicación.
  2. Resuelve en tu servidor el endUserId de Social media studio almacenado para ese cliente.
  3. Verifica que los ID de conexión y de publicación solicitados pertenecen a ese cliente.
  4. Llama al SDK con esos ID resueltos en el servidor.
Nunca aceptes un endUserId arbitrario desde un navegador ni lo pases sin comprobar la propiedad en tu base de datos.

Ámbitos de las claves

Las claves de socio pueden restringirse a las capacidades que necesita un servicio: Siempre que sea posible, usa claves distintas y con los mínimos privilegios para servicios independientes.

Gestionar los errores del SDK

Toda solicitud de API fallida lanza SoMePlatformError:
En la creación de publicaciones, los reintentos son seguros solo si reutilizas la misma clave de idempotencia. No reintentes a ciegas otras operaciones de escritura a menos que tu aplicación pueda confirmar su resultado.

Registro

Registra el contexto de la solicitud, como el ID de tu cliente, el ID del usuario final, la operación, el estado HTTP y la clave de idempotencia. No registres claves de socio completas, secretos de webhook, tokens de OAuth, URL de subida prefirmadas ni metadatos sensibles de clientes.