0

我正在为需要为所有用户设置双因素身份验证的服务设计Node + MySQL后端,作为注册过程的一部分。用户首先提交一个主要电话号码和密码(用于登录的电话号码),然后服务器向其发送带有六位数字代码的短信。只有在他们输入代码后,他们的帐户才能完全创建。SQL - 为用户存储中间注册信息的方法

这提出了在输入用户名/密码之后但在验证代码之前如何为中间状态的用户存储数据的问题。这些“待处理用户”不会在搜索中显示,也不需要存储常规用户的所有数据,并且如果从未验证,将在几天后被删除。此外,由于每个用户都必须启用TFA才能完全注册,所以用户数量将比“未决用户数量”多得多。因此,让所有用户简单地存储“isVerified”标志对我来说似乎并不明智。我在技术层面熟悉SQL,但没有设计用于生产的数据库的经验,我想知道应该考虑采用哪些替代机制来解决上述问题。

我目前的想法是有一个单独的待决用户表,只有那些必须存储中间注册信息的列。当用户验证时,在真实用户表中创建一行,复制注册信息,并将相应行从挂起用户表中删除。然而,这使得确保主要电话号码在两个表中是唯一的(这是服务的附加要求)有点难以确定。

我应该考虑采用哪些方法来改进我的解决方案?

回答

0

您可以像存储服务器上的会话信息一样存储此数据。

相关问题