我们如何构建一个节点 api,它将向用户发送邮件并生成 otp 以访问我的 python 微服务

How can we build a node api which will send mail to users and will also generate otp for accessing my python microservices

有没有办法在 nodejs 上写一封电子邮件 API,以便将包含唯一的自动生成的 OTP 的电子邮件发送给用户,以便访问我的 python 微服务?

Nodemailer 是在 nodejs 中发送电子邮件的流行模块。您可以在网站上找到所有详细信息。

或者,您可以使用第 3 方 API 来处理交易电子邮件。根据我的经验,SendGrid 可以胜任,而且 API 很简洁,易于实施。

就 OTP 而言,您可以使用任何您喜欢的方式来生成密码,只是 永远不要 使用 Math.random 因为它不安全。通常,这就是我构建应用程序的方式:

  1. 使用 generate-password 或您认为合适的方式生成 OTP
  2. 将 OTP 哈希保存到数据库(您不应将实际密码存储到数据库)
  3. 使用 Nodemailer 或第三方交易电子邮件提供商 link 发送电子邮件
  4. 一旦用户按照指示执行操作,您就可以将 OTP 哈希与保存在数据库中的哈希进行比较,并做出相应的反应

如果您需要任何代码示例或其他任何内容,请告诉我,我会编辑我的答案。 希望这有帮助:)