我正在尝试使用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",
},
然后这完全正常。我不明白问题是什么,我试图把它作为一个字符串,但没有运气。
这两个值都是匹配的,我将它们打印出来并且它们都是相同的。
答案 0 :(得分:1)
使用代字号来包装字符串值,您的生活将变得轻而易举!
clientSecret=`imU86A3oPiZlyOhZybShraP377ers0MvowBaizEQ`
答案 1 :(得分:0)
确保已安装dotenv 确保您在应用中尽早配置 dotenv
require('dotenv').config({path: __dirname + '/.env'});
注意:最好在某些设置中使用 path 参数,例如,如果使用调试器,否则dotenv可能无法找到并加载.env文件。
答案 2 :(得分:0)
如果您需要在应用变量中动态设置环境值
for(const [keyObj, valObj] of Object.entries(data)){
for(const [key, value] of Object.entries(valObj)){
app.set(key.toLocaleLowerCase(), value);
}
}