認証アプリによる二要素認証 (2FA) をテストする

Prev Next

この記事では、二要素認証(2FA)のうち、TOTP (Time-Based One-Time Password) をテストする方法についてご紹介します。

Autify Nexusでは、[動的な値生成ステップ] を利用しTOTPを生成することができます。GitHubを例に、認証アプリによる2FAの設定とシナリオ作成の手順を見ていきましょう。

シナリオ作成の前準備

シークレットキーを取得する

テスト対象のアプリケーションにて、TOTPを生成するためのシークレットキーを取得します。シークレットキーは、2FAのセットアップ画面にてQRコードで表示されるケースがよくありますが、文字列を取得してください。

たとえば、GitHubのサイトの場合は、”setup key”のリンクをクリックするとシークレットキーが表示されます。

対象のアプリにて認証アプリによる2FAをセットアップする

テスト対象のアプリケーションにて初めて認証アプリによる2FAをセットアップする場合には、最初にセットアップを完了させる必要があります。

任意の認証アプリにて設定いただくか、以下Autifyのシナリオを利用したセットアップ手順をご確認ください。

  1. 任意のシナリオを利用し、[ステップを挿入] > [動的な値生成ステップ] を追加します。

  2. 追加した[動的な値を生成ステップ]を以下内容で編集します。

    1. [値の種類] の項目で 二要素認証コード(TOTP) を選択

    2. [シークレットキー]の項目に取得したシークレットキーを入力

  3. 後段に、[ステップを挿入] > [Javascriptステップ] を追加し、手順2のステップで生成したTOTPをコンソールに出力するステップを作成します。

  4. シナリオを保存・実行し、テスト結果画面にてコンソールに出力された認証コードをコピーします

  5. 対象のアプリケーションにてコピーしたコードを入力し、セットアップを完了します。

シナリオを作成する

認証アプリによる2FAのセットアップが完了したら、実際にシナリオを作成します。

  1. 対象のアプリケーションにて、認証を行う直前までの操作を通常通りレコーディングし、TOTP入力欄に適当な認証コードを入力し一度シナリオを保存します。

  2. 認証コードを入力するステップの前に、[ステップを挿入] > [動的な値生成ステップ] を追加し、以下内容で編集します。

    1. [値の種類] の項目で 二要素認証コード(TOTP) を選択

    2. [シークレットキー]の項目に取得したシークレットキーを入力

  3. 認証コードを入力するステップにて、[テキスト]の項目に 他のステップの結果 を選択

    し、値に[動的な値生成ステップ] を選択し、シナリオを保存します。

上記手順にて、テスト実行のたびに動的に生成されるTOTPを取得・入力するシナリオを作成することができました。

作成したシナリオを実行して、2FAが期待通りに動作することを確認することを確認しましょう。