Javascript 节点/快速电子邮件+;令牌身份验证

Javascript 节点/快速电子邮件+;令牌身份验证,javascript,node.js,authentication,express,Javascript,Node.js,Authentication,Express,我想知道是否有Node/Express专家可以给我一点建议,看看我试图实现的以下场景是否可行。我想是的,我只是有点不确定解决这个问题的最佳实践方法 我目前正在构建一个小型客户机,该客户机将受到保护。要访问以下内容,必须执行以下步骤: 在表单中输入姓名+电子邮件地址,然后通过电子邮件将此数据发送给管理员 电子邮件将包含一个预构建的链接,其中包含输入该字段的数据的查询参数。该链接将在查询参数之前有一个API URL 单击链接时,将执行一个API请求,获取查询参数(主要是电子邮件地址),并在特定时间段

我想知道是否有Node/Express专家可以给我一点建议,看看我试图实现的以下场景是否可行。我想是的,我只是有点不确定解决这个问题的最佳实践方法

我目前正在构建一个小型客户机,该客户机将受到保护。要访问以下内容,必须执行以下步骤:

  • 在表单中输入姓名+电子邮件地址,然后通过电子邮件将此数据发送给管理员
  • 电子邮件将包含一个预构建的链接,其中包含输入该字段的数据的查询参数。该链接将在查询参数之前有一个API URL
  • 单击链接时,将执行一个API请求,获取查询参数(主要是电子邮件地址),并在特定时间段(如2小时)内向客户端授予此电子邮件地址访问权限
  • 客户将访问subdomain.domain.com,输入他们的电子邮件地址(通过验证以检查管理员是否批准了该电子邮件地址),并可以访问客户2小时。还将有一个计时器,该计时器具有重新标记会话长度
  • 这其中的大部分我都能处理,但我想我会给你一个洞察,让你全面了解我正在努力实现的目标。我有疑问的部分是第3节,在一段特定的时间内给客户一个电子邮件地址访问权限。我不想涉及任何密码,那么最安全、更明智的解决方案是什么?我必须使用代币吗

    我将使用Express构建服务器端,除非出于任何原因我必须严格使用Node


    提前谢谢

    当管理员批准请求时,api将在数据库中插入一行(mongo将很容易),该行将在2小时后过期(或不管多长时间)。接下来,当用户转到子域时,他们输入自己的电子邮件地址。您的express应用程序会检查电子邮件是否在mongo中。如果是,他们可以访问。你可以将他们的电子邮件放在cookie中,并在将来的请求中以这种方式进行检查