This is documentation for the next version of Grafana k6 documentation. For the latest stable release, go to the latest version.

Open source

totp

Note

The source code for this library can be found in the grafana/k6-jslib-totp GitHub repository.

The totp module provides TOTP (Time-based One-Time Password) generation and verification as defined in RFC 6238.

Class/MethodDescription
TOTP(secret, [digits])Create a new TOTP instance
TOTP.gen([timeStep], [bias])Generate a TOTP code
TOTP.verify(code, [timeStep])Verify a TOTP code

Example

JavaScript
JavaScript
import { TOTP } from 'https://jslib.k6.io/totp/1.0.0/index.js';

export default async function () {
  const totp = new TOTP('GEZDGNBVGY3TQOJQGEZDGNBVGY3TQOJQ', 6);
  const code = await totp.gen();
  console.log(`TOTP code: ${code}`);

  const isValid = await totp.verify(code);
  console.log(`Valid: ${isValid}`);
}

With k6 Secrets

JavaScript
JavaScript
import secrets from 'k6/secrets';
import { TOTP } from 'https://jslib.k6.io/totp/1.0.0/index.js';

export default async function () {
  const secret = await secrets.get('totp_secret');
  const totp = new TOTP(secret, 6);
  const code = await totp.gen();
  console.log(`TOTP code: ${code}`);
}