【问题标题】:Advantages of XOAUTH2 in nodemailernodemailer中XOAUTH2的优势
【发布时间】:2013-09-04 21:57:41
【问题描述】:

nodemailer 模块(允许在 node.js 应用程序中发送电子邮件)支持针对 Gmail 帐户的 XOAUTH2 身份验证。为什么要将此用于通用电子邮件通知,而不是仅在auth 中指定user: 和pass: 参数?我知道密码然后以纯文本形式存储,但它从未在任何地方传播。此外,XOAUTH2 方法似乎需要一个clientSecret: 参数,该参数可能也不应该公开。那么这里有什么优势呢?

类似问题:如何在应用程序中包含身份验证信息而不将其推送到远程仓库?有没有办法用 Git 忽略这些行?

【问题讨论】:

    标签: node.js oauth nodemailer


    【解决方案1】:

    当您想代表您的用户发送电子邮件时(例如,好像发件人是用户,而不是您的应用程序),使用 XOAUTH 很有用 - 您可以要求他们授权您的密码,而不是询问他们的密码通过 OAuth 机制申请。生成的客户端机密只有您知道,仅对访问用户的电子邮件有效,仅此而已,用户可以随时撤销这些客户端令牌。

    如果您不想代表您的用户发送邮件而是使用您自己的凭据,那么使用 XOAUTH 是没有意义的。

    【讨论】:

    • 谢谢,这解释了很多。关于问题的第二部分有什么想法吗?如何在公共代码(在 GitHub 上)中“隐藏”身份验证凭据,同时将它们保留在本地和生产环境中?
    • 使用环境变量隐藏敏感数据。例如,在您的服务器中设置环境变量 CLIENT_SECRET,然后在您的代码中将其用作 process.env.CLIENT_SECRET
    • 啊,很好。没想到。谢谢!
    • 节省了我尝试让 XOauth2 工作的时间,谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-12-30
    • 2016-06-02
    • 2010-12-13
    • 2014-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多