我正在nodejs中使用dotenv
(https://github.com/motdotla/dotenv),以存储我使用的OAuth服务器的客户端秘密值。
我的.env
文件看起来如下:
clientSecret=imU86A3oPiZlyOhZybShraP377ers0MvowBaizEQ
在nodejs文件中,我有以下内容:
passport.use(new PasswordGrantStrategy({
tokenURL: 'WEBSITE_ADDRESS',
clientID: "2",
clientSecret: process.env.clientSecret,
grantType: "password",
},
问题是我得到了Token Error
,但是,如果我更改以下内容:
passport.use(new PasswordGrantStrategy({
tokenURL: 'WEBSITE_ADDRESS',
clientID: "2",
clientSecret: "imU86A3oPiZlyOhZybShraP377ers0MvowBaizEQ",
grantType: "password",
},
这样可以很好地工作。我不明白问题可能是什么,我试图将其作为字符串,但没有运气。
这些值既匹配了,我正在将它们打印出来,它们都相同。
使用 Backtick 包装字符串值,您的生活将变得轻而易举!
clientSecret=`imU86A3oPiZlyOhZybShraP377ers0MvowBaizEQ`
确保已安装Dotenv确保您在应用程序中尽早配置Dotenv
require('dotenv').config({path: __dirname + '/.env'});
注意:在某些设置中使用 path参数的好主意,例如,如果使用调试器否则dotenv可能找不到并加载.env文件。
如果您需要动态设置应用程序变量中的环境值
for(const [keyObj, valObj] of Object.entries(data)){
for(const [key, value] of Object.entries(valObj)){
app.set(key.toLocaleLowerCase(), value);
}
}