2017-08-17 129 views
4

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

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

代码如下:

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(); 
} 

谢谢。

回答

1

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

如果我的理解正确 - 您想在应用中存储密码和2FA详细信息。可能有一种技术方式来做到这一点,但我不会使用这样的应用程序。这是一个很大的安全禁忌。最好让你的应用的用户每次都提供登录/密码,并且如果Steam API要求第二个因素 - 向用户询问。

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

+0

这个程序实际上是从一个.txt文件读取用户名和密码的循环中登录到多个帐户,但有可能在启用双因素身份验证的.txt中有一个或甚至多个帐户。现在我的程序确认了这一点,并提示用户手动输入这个问题,但我想要的是我的程序为任何具有该功能的帐户提取了两个因子代码并自动输入代码。但是,谢谢你的评论我从来没有想过试图找到一个帐户的特殊标记。 –

+0

看看这个主题OTP https://security.stackexchange.com/a/47904/18504它看起来像你想要的是可能的假设你可以得到你的手在种子数据(我不是专家,但我猜这是设置2FA时显示给你的二维码,所以在蒸汽帐户中通常很久没有了)。 – meta

相关问题