如何组织两步确认?节点js
How to organize two steps confirmation? node js
我有 node.js 服务器进行现金操作。
我想让用户确认现金交易。
我提供这个功能是为了防止用户错误。
第 1 步:用户在 html 表单中输入一些值,
然后服务器从这个表单中获取值(例如 post 查询),准备它并发回给用户。
第 2 步:用户检查收到的数据并按 "OK" 或 "Cancel",这取决于服务器是否使用在第 1 步以特殊方式收到的数据。
我的问题是:服务器端第 1 步和第 2 步之间的连接。
我应该在哪里存储从步骤 1 到步骤 2 的数据?
或者在这种情况下你能告诉我另一种逻辑吗?
您有一个来自 passport.js 的用户会话,因此您通常会将数据临时保存为该用户会话对象上的 属性。然后,在确认后,您可以从会话中检索数据并继续该过程。
如果在一段时间内没有来自用户的确认响应,您可能还需要一些逻辑,在超时后从会话中删除额外的数据。当然,您可以将它留在那里直到会话本身超时。
这篇文章 ExpressJS and PassportJS Sessions Deep Dive 中写了很多关于如何向会话添加更多属性的内容。根据您的护照配置,它可能就像在 req.user
中添加 属性 一样简单,也可能稍微复杂一些。
我有 node.js 服务器进行现金操作。 我想让用户确认现金交易。 我提供这个功能是为了防止用户错误。
第 1 步:用户在 html 表单中输入一些值, 然后服务器从这个表单中获取值(例如 post 查询),准备它并发回给用户。
第 2 步:用户检查收到的数据并按 "OK" 或 "Cancel",这取决于服务器是否使用在第 1 步以特殊方式收到的数据。
我的问题是:服务器端第 1 步和第 2 步之间的连接。 我应该在哪里存储从步骤 1 到步骤 2 的数据?
或者在这种情况下你能告诉我另一种逻辑吗?
您有一个来自 passport.js 的用户会话,因此您通常会将数据临时保存为该用户会话对象上的 属性。然后,在确认后,您可以从会话中检索数据并继续该过程。
如果在一段时间内没有来自用户的确认响应,您可能还需要一些逻辑,在超时后从会话中删除额外的数据。当然,您可以将它留在那里直到会话本身超时。
这篇文章 ExpressJS and PassportJS Sessions Deep Dive 中写了很多关于如何向会话添加更多属性的内容。根据您的护照配置,它可能就像在 req.user
中添加 属性 一样简单,也可能稍微复杂一些。