Node.js双因素身份validation

我正在使用专门为Steam应用程序使用身份validation的node.js开发个人程序。 login从外部.txt文件中读取用户名和密码,它使用数组定位,按“:”(冒号)拆分。 现在,这是我需要帮助的地方。 对于某些帐户,Steam使用随时间在移动应用程序或电子邮件中随机生成的双因素代码。 在这个时候,我有我的程序,以便检查帐户是否启用了validation代码,如果有,我会提示手动input适当的两个因子代码。 我知道有一种方法可以将我的程序合并到这个validation代码中,而不需要用户手动完成,但是我不知道从哪里开始。

问题:我希望程序能够随机生成一个代码,并自动将其设置为无需执行任何手动操作。

代码如下:

else if (eresult === Steam.EResult.AccountLoginDeniedNeedTwoFactor) { login.two_factor_code = readline.question(`[${param[0]}] Mobile auth code: `); client.disconnect(); client.connect(); } else if (eresult === Steam.EResult.AccountLogonDenied) { login.auth_code = readline.question(`[${param[0]}] Steam Guard code: `); client.disconnect(); client.connect(); } 

谢谢。

双因素authentication(2FA)是一种原则,您可以通过两个独立的因素对资源进行授权。 1.您知道的东西(login/通行证)2.您拥有的东西(安装了2FA应用程序的手机,例如Google Authenticator,Authy,同时我认为Steam还有一个应用程序)。

如果我正确地理解了你 – 你想在你的应用程序中存储密码和2FA细节。 可能有一个技术方法来做到这一点,但我不会使用这样的应用程序。 这是一个很大的安全禁忌。 最好每次都要求你的应用用户提供login/密码,如果Steam API要求第二个因素 – 向用户询问。

正如我所看到的大多数API – 你可能会得到一个特殊的令牌,所以用户不必每次都login和提供代码,而不必存储密码等。挖掘文档 – 你会发现它。 (除非你不使用任何官方的Steam API,但它看起来形成你可能做的代码)