この記事では、二要素認証(2FA)のうち、TOTP (Time-Based One-Time Password) をテストする方法についてご紹介します。
Autify Nexusでは、[動的な値生成ステップ] を利用しTOTPを生成することができます。GitHubを例に、認証アプリによる2FAの設定とシナリオ作成の手順を見ていきましょう。
シナリオ作成の前準備
シークレットキーを取得する
テスト対象のアプリケーションにて、TOTPを生成するためのシークレットキーを取得します。シークレットキーは、2FAのセットアップ画面にてQRコードで表示されるケースがよくありますが、文字列を取得してください。
たとえば、GitHubのサイトの場合は、”setup key”のリンクをクリックするとシークレットキーが表示されます。
.png?sv=2022-11-02&spr=https&st=2026-04-01T17%3A03%3A29Z&se=2026-04-01T17%3A14%3A29Z&sr=c&sp=r&sig=2FWepK5bdaoNMogUqgz6INpod3SRwawCbgadlX1KBGc%3D)
対象のアプリにて認証アプリによる2FAをセットアップする
テスト対象のアプリケーションにて初めて認証アプリによる2FAをセットアップする場合には、最初にセットアップを完了させる必要があります。
任意の認証アプリにて設定いただくか、以下Autifyのシナリオを利用したセットアップ手順をご確認ください。
任意のシナリオを利用し、[ステップを挿入] > [動的な値生成ステップ] を追加します。
.png?sv=2022-11-02&spr=https&st=2026-04-01T17%3A03%3A29Z&se=2026-04-01T17%3A14%3A29Z&sr=c&sp=r&sig=2FWepK5bdaoNMogUqgz6INpod3SRwawCbgadlX1KBGc%3D)
追加した[動的な値を生成ステップ]を以下内容で編集します。
[値の種類] の項目で 二要素認証コード(TOTP) を選択
[シークレットキー]の項目に取得したシークレットキーを入力
.png?sv=2022-11-02&spr=https&st=2026-04-01T17%3A03%3A29Z&se=2026-04-01T17%3A14%3A29Z&sr=c&sp=r&sig=2FWepK5bdaoNMogUqgz6INpod3SRwawCbgadlX1KBGc%3D)
後段に、[ステップを挿入] > [Javascriptステップ] を追加し、手順2のステップで生成したTOTPをコンソールに出力するステップを作成します。
.png?sv=2022-11-02&spr=https&st=2026-04-01T17%3A03%3A29Z&se=2026-04-01T17%3A14%3A29Z&sr=c&sp=r&sig=2FWepK5bdaoNMogUqgz6INpod3SRwawCbgadlX1KBGc%3D)
シナリオを保存・実行し、テスト結果画面にてコンソールに出力された認証コードをコピーします
.png?sv=2022-11-02&spr=https&st=2026-04-01T17%3A03%3A29Z&se=2026-04-01T17%3A14%3A29Z&sr=c&sp=r&sig=2FWepK5bdaoNMogUqgz6INpod3SRwawCbgadlX1KBGc%3D)
対象のアプリケーションにてコピーしたコードを入力し、セットアップを完了します。
.png?sv=2022-11-02&spr=https&st=2026-04-01T17%3A03%3A29Z&se=2026-04-01T17%3A14%3A29Z&sr=c&sp=r&sig=2FWepK5bdaoNMogUqgz6INpod3SRwawCbgadlX1KBGc%3D)
シナリオを作成する
認証アプリによる2FAのセットアップが完了したら、実際にシナリオを作成します。
対象のアプリケーションにて、認証を行う直前までの操作を通常通りレコーディングし、TOTP入力欄に適当な認証コードを入力し一度シナリオを保存します。
.png?sv=2022-11-02&spr=https&st=2026-04-01T17%3A03%3A29Z&se=2026-04-01T17%3A14%3A29Z&sr=c&sp=r&sig=2FWepK5bdaoNMogUqgz6INpod3SRwawCbgadlX1KBGc%3D)
認証コードを入力するステップの前に、[ステップを挿入] > [動的な値生成ステップ] を追加し、以下内容で編集します。
[値の種類] の項目で 二要素認証コード(TOTP) を選択
[シークレットキー]の項目に取得したシークレットキーを入力
.png?sv=2022-11-02&spr=https&st=2026-04-01T17%3A03%3A29Z&se=2026-04-01T17%3A14%3A29Z&sr=c&sp=r&sig=2FWepK5bdaoNMogUqgz6INpod3SRwawCbgadlX1KBGc%3D)
認証コードを入力するステップにて、[テキスト]の項目に 他のステップの結果 を選択
し、値に[動的な値生成ステップ] を選択し、シナリオを保存します。
.png?sv=2022-11-02&spr=https&st=2026-04-01T17%3A03%3A29Z&se=2026-04-01T17%3A14%3A29Z&sr=c&sp=r&sig=2FWepK5bdaoNMogUqgz6INpod3SRwawCbgadlX1KBGc%3D)
上記手順にて、テスト実行のたびに動的に生成されるTOTPを取得・入力するシナリオを作成することができました。
作成したシナリオを実行して、2FAが期待通りに動作することを確認することを確認しましょう。