木偶-授权设备(2FA)

时间:2019-12-03 09:43:30

标签: puppeteer two-factor-authentication one-time-password

是否可以授权Puppeteer进行2FA身份验证?

场景:

  1. 运行Puppeteer并访问受2FA保护的URL
  2. 输入凭据并等待重定向
  3. 请求一次性密码
  4. 输入密码
  5. 等待重定向
  6. 关闭木偶实例

  7. 运行Puppeteer并访问受2FA保护的URL

  8. 应该加载受保护的页面,不再要求输入密码

在我的情况下,这种情况不起作用:(

还有其他可以成功解决此问题的库吗?

1 个答案:

答案 0 :(得分:1)

根据情况的性质,有两种可能的情况可以使用伪人来处理2FA(从表达问题的方式尚不清楚)。

  1. 复制会话数据(在这种情况下,您不能让别人第二次为您提供代码,以后您需要完全绕开它):

我将假设您正在处理的站点正在浏览器上执行某种分析,以确定是否提示输入2FA代码。以我的经验,有时会有一个您无法控制的随机元素,但是复制确切的浏览器状态(用户数据,cookie,所有内容)是一个开始。将其与先前已正确回答的一致IP地址配对,我认为机会非常好。

请在此处查看我的code,或者如果它太重,请参见以下用于保存会话数据的功能的简单实现:simple code。简而言之,我正在转换会话数据,Cookie-区分铬实例并将其填充到base64字符串中的所有内容,然后稍后我仅加载该数据并假定浏览器以前具有确切的状态。我很确定这就是您想要的。

  1. 互动机器人

我不确定这是否适用于您的用例,但是我遇到了这样的情况:在伪造者处于执行登录过程的中间时,我需要从用户的电话/电子邮件中实时提取2FA代码。浏览器无法重新启动,因为2FA代码将不再有效。这不是一个小问题。我最终使用Redis,并建立了一个框架puppeteer-theater,该框架可以解决我遇到的几乎所有刮取/自动化工作流程中的这种用例。

如果您正在寻找特定的帮助,请随时与我们联系。