繁体   English   中英

没有设置Node.JS环境变量?

[英]Node.JS environment variables are not set?

我的Node.JS .env中有一些环境变量,包括AUTH0_CLIENT_ID和AUTH0_CLIENT_SECRET。

我向客户端添加了auth0支持:

var jwt = require('express-jwt');
var authenticate = jwt({
  secret: new Buffer(process.env.AUTH0_CLIENT_SECRET, 'base64'),
  audience: process.env.AUTH0_CLIENT_ID
});

当使用$ node Experiment.js或从npm运行我的实验时[在package.json中的脚本中添加了相应的条目后,我得到一个错误:

buffer.js:139
throw new TypeError('must start with number, buffer, array or string');

我的猜测是环境变量没有被采用。 我做错了什么,或者/我应该检查什么?

您将这些文件放入文件中并不意味着它们已被加载。 您需要将它们传递给NodeJS。 或者使用一些包的管理配置文件和环境变量( nconf中dotenv ),或运行服务(这是更好的秘密被保存在任何类型的文件出于安全原因)时,直接通过。 如果选择第二个,则很大程度上取决于您正在运行的系统。 如果使用Windows,则应首先设置环境变量(以cmd为单位):

set AUTH0_CLIENT_SECRET=test
node app.js

在基于Unix的系统上,您可以直接传递它:

AUTH0_CLIENT_SECRET=test node app.js

希望有帮助:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM