Node.js で API キーを使用する際のベストプラクティス 質問する

Node.js で API キーを使用する際のベストプラクティス 質問する

Node.js アプリケーションで使用している API キーがあります。現在、このキーはテキスト ファイルに保存されており、アプリケーションの起動時にグローバル変数に配置されます。

つまり、基本的には次のようになります。

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

このグローバル変数は好きではありませんし、ファイル間で渡すのも面倒です。必要なときに必要な場所でキーを取得するためのより良い方法はありますか? そうするための標準はありますか?

ベストアンサー1

あなたが行っていることの従来の代替手段は、特にAPIキーに関連する場合は、環境変数これはオペレーティング システム レベルの構成機能です。各プロセスには独自の環境変数のセットがあり、通常は親プロセスから継承されます。慣例により、環境変数の名前は大文字になります。

node.jsでは、環境変数にアクセスできます。process.envたとえば、次のようなアプリケーションを実行するとします。

$ MY_VARIABLE=test node app.js

MY_VARIABLE環境変数の値には、次の方法でアクセスできます。

process.env.MY_VARIABLE

しかし、プログラムを起動するたびに環境変数を渡し続けるのは面倒です。そのため、次のようなパッケージがあります。ドテンヴこれにより、環境変数をテキスト ファイルに保存できるようになります。

具体的には、 というファイルがあり.env、その中に次のような内容が含まれます。

MY_VARIABLE=test
OTHER_VARIABLE=foo

の始めにapp.js、次の操作を行います。

require('dotenv').config();

これにより、ファイルから環境変数の値が読み取られます.env。その後、他の環境変数にアクセスするのと同じようにアクセスできます。

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

これで、呼び出し時に環境変数をアプリケーションに明示的に渡す必要がなくなり、通常どおりに実行できるようになります。

$ node app.js

もし、あんたがする明示的に渡すと、ファイルで指定した値が上書きされます.env

$ MY_VARIABLE=bar node app.js

これで、MY_VARIABLE環境変数の値は"bar"ではなく になります"testing"。 は明示的に渡されないため、ファイルで指定されたOTHER_VARIABLEの値が保持されます。"foo".env

おすすめ記事