浏览器监控的多因素身份验证 (MFA)

编辑

浏览器监控的多因素身份验证 (MFA)

编辑

多因素身份验证 (MFA) 为应用程序登录流程增加了重要的安全层,防止未经授权的访问。Synthetics 中一个非常常见的用例是测试涉及受 MFA 保护的网站的用户旅程。

Synthetics 支持测试受基于时间的一次性密码 (TOTP) 保护的网站,这是一种常见的多因素身份验证方法,它提供短期的一次性令牌来增强安全性。

配置用于 MFA 的 TOTP
编辑

要测试使用 TOTP 进行 MFA 的浏览器旅程,首先在目标应用程序中配置 Synthetics 身份验证令牌。为此,请使用 Synthetics CLI 生成一次性密码 (OTP);请参考 @elastic/synthetics totp <secret>

npx @elastic/synthetics totp <secret>

// prints
OTP Token: 123456
在浏览器旅程中应用 TOTP 令牌
编辑

在您的应用程序中配置 Synthetics TOTP 身份验证后,您现在可以使用从 @elastic/synthetics 导入的 mfa 对象在合成浏览器旅程中使用 OTP 令牌。

import { journey, step, mfa} from '@elastic/synthetics';

journey('MFA Test', ({ page, params }) => {
  step('Login using TOTP token', async () => {
    // login using username and pass and go to 2FA in next page
    const token = mfa.token(params.MFA_GH_SECRET);
    await page.getByPlaceholder("token-input").fill(token)
  });
});

对于使用脚本编辑器在 Synthetics UI 中创建的监控,可以按如下所示访问 mfa 对象

step('Login using 2FA', async () => {
  const token = mfa.token(params.MFA_GH_SECRET);
  await page.getByPlaceholder("token-input").fill(token)
});

params.MFA_GH_SECRET 将是用于在您的 Web 应用程序中注册 Synthetics 身份验证的已编码密钥。