2013-08-29 4 views
1

Модуль nodemailer (позволяет отправлять электронные письма в приложении node.js) поддерживает аутентификацию XOAUTH2 против учетных записей Gmail. Почему вы хотите использовать это для уведомлений общего назначения по электронной почте, а не просто указывать параметры user: и pass: в auth? Я понимаю, что пароль затем сохраняется в виде обычного текста, но он нигде не распространен. Кроме того, для метода XOAUTH2 требуется параметр clientSecret:, который также, вероятно, не должен быть обнародован. Итак, каковы преимущества здесь?Преимущества XOAUTH2 в nodemailer

Аналогичный вопрос: как включить информацию об аутентификации в приложение, не вставляя его в удаленное репо? Есть ли способ просто игнорировать эти строки с Git?

ответ

4

Использование XOAUTH полезно, когда вы хотите отправлять электронные письма от имени своих пользователей (например, если отправитель будет пользователем, а не вашим приложением) - вместо того, чтобы просить их пароли, вы можете попросить их разрешить ваше приложение через механизм OAuth. Результирующие секреты клиента известны только вам, действительные только для доступа к электронной почте пользователя, и ничего больше, и пользователь может отозвать эти токены клиента в любое время.

Если вы не хотите отправлять почту от имени своих пользователей, но с вашими собственными учетными данными, тогда нет смысла использовать XOAUTH.

+0

Спасибо, что объясняет многое. Любые идеи о второй части вопроса? Как «скрыть» учетные данные аутентификации из общего кода (на GitHub), сохраняя их в локальной и производственной среде? – mart1n

+0

Используйте переменные среды, чтобы скрыть конфиденциальные данные. Например, задайте переменную среды CLIENT_SECRET на вашем сервере, а затем используйте ее как 'process.env.CLIENT_SECRET' в вашем коде – Andris

+0

А, хорошо. Не думал об этом. Благодаря! – mart1n

 Смежные вопросы

  • Нет связанных вопросов^_^