【问题标题】:Storing password securely nodemailer安全地存储密码 nodemailer
【发布时间】:2014-10-20 21:22:22
【问题描述】:

我有一个使用 nodemailer 发送邮件的应用。

transporter = nodemailer.createTransport({
  service: 'Gmail',
  auth: {
    user: "email",
    pass: "what here?"
  }
});

我想保持应用程序的开源,只是为了它(同时不希望纯文本密码基本上存在于任何地方)。

我知道 nodemailler-direct,但是这里有更好的选择吗?我也想过提示服务器控制台输入密码,但这也很笨拙。

是否有“正确”或标准的方式来做这样的事情?

【问题讨论】:

    标签: node.js email passwords nodemailer


    【解决方案1】:

    使用环境变量:

    transporter = nodemailer.createTransport({
      service: process.env.NODEMAILER_SERVICE,
      auth: {
        user: process.env.NODEMAILER_USER,
        pass: process.env.NODEMAILER_PASS
      }
    });
    

    您可以在服务器上设置这些变量,应用程序将获取它们。例如:

    NODEMAILER_SERVICE="Gmail"
    

    【讨论】:

    • 在服务器上,这会在“app-reboots”上持续存在吗?
    • 嗯,这取决于您的环境是如何设置的。应用重启应该不是问题,但您需要确保在服务器重启后设置这些变量。
    • 谢谢。我将进一步研究 env 变量,令我惊讶的是,当我学习基础知识时它们并没有更加突出。
    猜你喜欢
    • 1970-01-01
    • 2017-03-23
    • 2012-05-23
    • 1970-01-01
    • 2013-06-02
    • 2018-05-13
    • 2016-04-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多