Consulta rapida sobre environment variables y su encriptacion por seguridad
0 vistas14 respuestasel año pasadoegutierrez
Buenas siguiendo el trabajo me encuentro que para acceder a API externas ( en mi caso OpenAi o ollama) normalmente se necesita API_KEY.
Decido guardar en variables de entorno en fichero .env segun https://vitejs.dev/guide/env-and-mode
Ya se que no es seguro guardar esta informacion en cliente, pero no se como podria gestionarlo de una forma mejor.
Lo que no encuentro es porque este fichero no se encripta la informacion en vez de guardar en texto plano. Esto lo haria muchisimo mas seguro.
En php recuerdo que habia alguna funcion que pasabas un string y una codificacion ejemplo sha o la que quisieras y te devolvia el texto encriptado, y despues podias hacer la inversa....
Alguien tiene una solucion similar ? O como ha resuelto el tema API ?¿
Gracias
1019880602582917160
1019880552062521445
14 respuestas
Directamente no es posible, puedes usar base64 para codificar las variables de entorno o alguna librería para hacer lo que comentas, pero al estar del lado del frontend se va a poder leer el código y descifrarlo, puedes aprovechar para usar el ssr de vite para crear un endpoint para hacer las llamadas a la api desde el servidor https://vitejs.dev/guide/ssr.html
erikgiovaniel año pasado
Bueno gracias
egutierrezel año pasado
una solucion que he encontrado sencilla es que el env lo he quitado del git
egutierrezel año pasado
y al hacer deploy con Vercel te pide las variables de entorno
egutierrezel año pasado
en uno de los pasos para hacer deploy desde github te pide apikeys o copiar fichero .env
egutierrezel año pasado
y supongo que con vercel estaran protegidas jajaj
egutierrezel año pasado
No, en la llamada a la api en las dev tool se va a poder leer desde cualquier navegador
erikgiovaniel año pasado
Vercel no las protege ??
egutierrezel año pasado
Solo del lado del backend, del lado del frontend no
erikgiovaniel año pasado
las ha puesto aparte eh ya te digo
egutierrezel año pasado
Algo que puedes hacer en algunas apis es configurar una ip o url para para que solo se puedan hacer peticiones desde esa ip o url, así aun que te roben el api key no podrán usarla
erikgiovaniel año pasado
Si tambien me han dicho de instalar express en el proyecto y hacer una api sencilla que devuelva la api key....
egutierrezel año pasado
supongo que es similar a lo que me has comentado de vite