Tengo una interfaz simple pero trabajo con varias API, por lo que no quiero usar un backend para ello. ¿Cómo puedo ocultar mis API keys en CRA sin usar backend?
Se sugiere usar variables de entorno para esto y también lo he usado como se muestra en la documentación, pero esto no es exactamente lo que quiero. Aunque uso variables de entorno, una simple búsqueda CTRL + F en los archivos "chunk.js" revela cosas que deberían permanecer ocultas, como mis claves API. ¿Hay alguna manera de prevenir esto por completo?
No, en realidad no, y de lo contrario podrían detectarlos fácilmente con wireshark u otras herramientas de monitoreo de red.
La forma de combatir esto es hacer su propia API que se conecte con las otras API, que devuelva el contenido requerido. Luego, necesitan obtener una clave de licencia para su API, que puede revocar desde su servidor como válida si desea rechazar el acceso a una clave de licencia que cotiza en bolsa para su API.
Si desea usar cualquier clave API en un paquete JS como este, se incluirá, ya sea que lo haga o no.
Así que puedes: