Node.js NodeJS dotenv-未正确读取字符串值
我试图在nodeJS中使用Node.js NodeJS dotenv-未正确读取字符串值,node.js,Node.js,我试图在nodeJS中使用dotenv()来存储我正在使用的oauth服务器的客户机机密值 我的.env文件如下所示: passport.use(new PasswordGrantStrategy({ tokenURL: 'WEBSITE_ADDRESS', clientID: "2", clientSecret: process.env.clientSecret, grantType: "password", }, passport.use(new Pass
dotenv
()来存储我正在使用的oauth服务器的客户机机密值
我的.env
文件如下所示:
passport.use(new PasswordGrantStrategy({
tokenURL: 'WEBSITE_ADDRESS',
clientID: "2",
clientSecret: process.env.clientSecret,
grantType: "password",
},
passport.use(new PasswordGrantStrategy({
tokenURL: 'WEBSITE_ADDRESS',
clientID: "2",
clientSecret: "imU86A3oPiZlyOhZybShraP377ers0MvowBaizEQ",
grantType: "password",
},
clientSecret=imu86a3opizlyohzybshrap377ers0movabaizeq
在NodeJS文件中,我有以下内容:
passport.use(new PasswordGrantStrategy({
tokenURL: 'WEBSITE_ADDRESS',
clientID: "2",
clientSecret: process.env.clientSecret,
grantType: "password",
},
passport.use(new PasswordGrantStrategy({
tokenURL: 'WEBSITE_ADDRESS',
clientID: "2",
clientSecret: "imU86A3oPiZlyOhZybShraP377ers0MvowBaizEQ",
grantType: "password",
},
问题是我得到了一个令牌错误
,但是,如果我将其更改为以下内容:
passport.use(new PasswordGrantStrategy({
tokenURL: 'WEBSITE_ADDRESS',
clientID: "2",
clientSecret: process.env.clientSecret,
grantType: "password",
},
passport.use(new PasswordGrantStrategy({
tokenURL: 'WEBSITE_ADDRESS',
clientID: "2",
clientSecret: "imU86A3oPiZlyOhZybShraP377ers0MvowBaizEQ",
grantType: "password",
},
这样就完全可以了。我不明白问题出在哪里,我试着把它当作一根绳子,但没有这样的运气
两个值都匹配,我正在打印它们,它们都相同。确保已安装dotenv 确保尽早在应用程序中配置dotenv
require('dotenv').config({path: __dirname + '/.env'});
注意:在某些设置中使用path参数是个好主意,例如如果使用调试器,否则dotenv可能找不到并加载.env文件。使用回溯来包装字符串值,您的生活将是轻而易举的
clientSecret=`imU86A3oPiZlyOhZybShraP377ers0MvowBaizEQ`
如果需要在应用程序变量中动态设置环境值
for(const [keyObj, valObj] of Object.entries(data)){
for(const [key, value] of Object.entries(valObj)){
app.set(key.toLocaleLowerCase(), value);
}
}
如何加载.env文件?以及如何启动脚本?您可以控制台。在passport上面记录它。使用line并查看它所包含的值是多少。process.env.clientSecret的值是多少?我发现在我的环境中唯一有效的东西。干杯