Solo en el servidor
Una clave de producción dentro de una aplicación web o móvil es una clave pública: el código distribuido es legible, y la ofuscación no es cifrado. Llame a la API desde su servidor.
Developers
Cómo está protegido hoy el endpoint de cotización, cómo se emitirán las claves y las reglas de manejo que evitan el resultado clásico: una clave de producción en un repositorio público.
El endpoint de cotización está abierto y no requiere clave. La elección es defendible: una cotización ni lee ni escribe datos personales, y una integración debe poder mostrar un precio antes de que exista una cuenta.
Lo que aún no está implementado
No se aplica límite de tasa en este endpoint hoy. Preferimos escribir eso a mostrar una tabla de cuotas que no se aplica: el día que exista el límite, se publicará aquí con sus valores, sus cabeceras de respuesta y el código devuelto cuando se supere.
Una clave lleva su entorno en su prefijo. Una clave de prueba que funcionara en producción sería un defecto de diseño: hace posible la transferencia real que creías estar simulando.
Authorization: Bearer sk_live_9f2c4b1e8a7d3f60c5b2a1e9d8c7b6a5| Prefijo | Entorno | Lo que permite |
|---|---|---|
sk_test_ | Sandbox | Cada operación, sobre datos simulados. Sin movimiento real de fondos, sin llamada a una entidad de pago. Las latencias de los canales se simulan para que sus pruebas encuentren las mismas esperas que en producción. |
sk_live_ | Producción | Operaciones reales. Las órdenes creadas con esta clave mueven dinero: nunca debe salir de su servidor. |
whsec_ | Ambos | Secreto de firma de webhooks. Nunca se usa para llamar a la API: solo verifica que lo que recibe realmente proviene de nosotros. |
Ninguna de ellas es original. Todas se rompen regularmente, y así es como se filtran las claves.
Una clave de producción dentro de una aplicación web o móvil es una clave pública: el código distribuido es legible, y la ofuscación no es cifrado. Llame a la API desde su servidor.
Como parámetro de consulta, una clave termina en los registros del servidor, en las cabeceras de referente y en el historial del navegador. La cabecera Authorization existe para esto.
Una clave compartida por tres servicios no puede revocarse sin romper los tres. Una clave por uso hace que la revocación sea sencilla.
Una clave enviada a un repositorio por error, incluso privado, incluso borrada después, está comprometida: el historial la conserva y los rastreadores leen los repositorios públicos en minutos.
Dos claves válidas a la vez permiten rotar sin ventana de indisponibilidad.