tokens nodejs node framework example node.js api-key

node.js - framework - nodejs jwt



Práctica recomendada cuando se utiliza una clave API en Node.js (1)

La alternativa convencional a lo que está haciendo, especialmente cuando se trata de claves de API, es utilizar variables de entorno . Esta es una facilidad de configuración a nivel de sistema operativo. Cada proceso tiene su propio conjunto de variables de entorno, generalmente heredadas de su proceso principal. Por convención, las variables de entorno tienen nombres en mayúsculas.

En node.js, puede acceder a las variables de entorno a través de process.env . Por ejemplo, si ejecuta una aplicación como esta:

$ MY_VARIABLE=test node app.js

Puede acceder al valor de la variable de entorno MY_VARIABLE través de:

process.env.MY_VARIABLE

Sin embargo, puede ser tedioso tener que pasar las variables de entorno en cada invocación de su programa. Es por eso que hay paquetes como dotenv que le permiten almacenar sus variables de entorno en un archivo de texto.

Más específicamente, tendrá un archivo llamado .env y en él podría tener:

MY_VARIABLE=test OTHER_VARIABLE=foo

Al comienzo de tu app.js , entonces haces:

require(''dotenv'').config();

Esto lee los valores de la variable de entorno del archivo .env . Luego puede acceder a ellos como lo haría con cualquier otra variable de entorno:

console.log("MY_VARIABLE: " + process.env.MY_VARIABLE); console.log("OTHER_VARIABLE: " + process.env.OTHER_VARIABLE);

Ahora no tiene que pasar explícitamente las variables de entorno a su aplicación tras la invocación, es decir, puede ejecutarlo como de costumbre:

$ node app.js

Si pasa uno explícitamente, anulará cualquier valor que haya dado en su archivo .env :

$ MY_VARIABLE=bar node app.js

Ahora la variable de entorno MY_VARIABLE tendrá un valor de "bar" lugar de "testing" . Como OTHER_VARIABLE no se pasa explícitamente, conserva su valor de "foo" especificado en el archivo .env .

Tengo una clave API que estoy usando en mi aplicación Node.js. Actualmente, lo guardo almacenado en un archivo de texto y lo coloco en una variable global cuando mi aplicación se inicia.

Así que básicamente es sólo:

var key = getKey(); useKeyGetData(key);

No me gusta tener esta variable global, y es muy difícil pasar de un archivo a otro. ¿Hay una mejor manera de obtener mi clave dónde y cuándo la necesito? ¿Hay algún estándar para hacerlo?