ウェブサイト向け2要素認証

二要素認証(2FA、二段階認証、またはTFAと略されます)は、「多要素認証」として知られるセキュリティの追加レイヤーで、パスワードとユーザー名だけでなく、そのユーザーだけが持っているもの、つまりそのユーザーだけが知っているべき情報、あるいはすぐに手元に置いている物理トークンのようなものを必要とします。ここでは、それは電話です。追跡可能な電話番号が割り当てられた電話です。

次のチュートリアルでは、新規または既存のウェブサイトに2要素認証を設定する方法を説明します。

まず、アカウントにログインして、2要素認証画面を見つけます:

- 「アプリケーション」タイルをクリックします:

2段階認証 - ステップ 1

- アプリケーションページを開いたら、「2要素認証(2 Factor Auth)」タイルをクリックします:

2段階認証 - ステップ 2

- 「2要素認証」ページで、「新規作成(Create New)」ボタンをクリックします。

表示されるオプションは次のとおりです:

2段階認証 - ステップ 3

利用可能なさまざまなオプションの説明は次のとおりです:

1. 名前:この二要素認証インスタンスの名前

2. 説明:簡単な説明

3. CallerID : 発信通話を行う際(発信が有効な場合)に使用される CallerID です。

4. SenderID:これは、SMS/テキストメッセージの送信時に使用されるSMS/テキスト発信用のSenderID(From番号)です。なお、米国/カナダでは、このオプションを選択する前に、アカウント内にSMS対応の電話番号が必要です。

5. 発信の許可:このオプションにより、エンドユーザーや訪問者は着信を受けることで電話番号を認証できるようになります。「Yes」(はい)に設定すると、さらに別のオプションが表示されます。説明は下にスクロールしてください。

6. PINの長さ : PINの長さ。既定では4文字

7. POST URL : これは設定できる最も重要なオプションの 1 つです。認証/検証情報を送信する際に使用する URL です。すべてサーバー側で処理されるため、エンドユーザーにこの URL が知られることはありません。

8. Local Post URL(ローカルPOST送信先URL): 当社のアプレットがHTTP POSTリクエストを送信する、クライアント側インターフェースのURLです。アプリケーションは、このリクエストを受け取ってユーザーの登録やログイン処理を続行できます。

9.DIV ID: 2要素認証アプリはこのdiv idを使用してドロップインUI(ユーザーインターフェース)を表示します。これはさらに、ページのHTMLコード内で空のDIVとして定義する必要があります。
例えば、DIV IDを「2fa」に設定した場合は、ログイン/サインアップページを編集し、次のような空のdivを追加してください:

。ここが2FAアプレットの表示場所です。

10. 認証タイプ : 2つの選択肢があります。「URLに送信」(Post URL)(上記の「7. POST URL」で説明したURL/オプションへの呼び出しを実行します)と、「直接有効化」(Enable Directly)(フォームが「8. ローカル送信先URL」(Local Post URL)へそのまま送信することを許可します。セキュリティは低くなります)です。

11. ドメイン:ご利用のウェブサイトのドメインに制限でき、制限する必要があります。ウェブサイトがwww.test.comの場合、このドメインに使用を制限し、2FAアプリがこのドメインでのみ動作するようにしてください。

12. Captchaを表示:このオプションは、ウェブサイトに組み込める2FAユーザーインターフェースでのCaptchaの表示を制御します。

13. 最大再試行回数:訪問者ごとに何回の再試行を許可しますか?

14. 一意識別子:これは、この2FAドロップインアプレットで使用する一意識別子です。使用方法は後で説明します(この記事を読み続けてください :) )

15. 最大SMS再試行回数:エンドユーザーがSMS送信を再試行できる回数を何回まで許可しますか?

16. 最大リトライ回数 : エンドユーザーが自分の番号への発信を再試行できる回数を指定します。

17. SMS メッセージ : 設定可能な SMS メッセージを送信できます(このオプションはまだ利用できません)

18. ヘルプリンク:埋め込み用の2FAアプレットに表示されるヘルプリンクです。指定しない場合、何も表示されません。

「Allow Dialing」がyesに設定されている場合、次のオプションが利用可能になります:

2段階認証 - ステップ 4

追加オプションについての説明は以下の通りです:

1. 音声の選択 (Audio Choice) : ユーザーに認証用PIN番号をどのように提供するかを選択できます。選択肢は TTS と Audio です。Audio を選択すると、「テキスト読み上げ (Text to speech)」と「読み上げ言語 (Text to speech language)」のオプションが非表示になり、「録音済み音声の種類 (Prerecorded audio voice)」(どのような音声を使用するか)と「録音済み音声の言語 (Prerecorded audio voice language)」に置き換わります。以下をご覧ください:

2段階認証 - ステップ 5

2. テキスト読み上げ : 音声の選択が「TTS」に設定されている場合、これはTTSエンジンがエンドユーザーに読み上げるテキストです(TTS料金が適用されます)。

3. テキスト読み上げ言語:テキスト読み上げが行われる言語です。

4. Allow extension dialing(内線番号の入力を許可) : yes(はい)に設定すると、エンドユーザーは自分の内線番号も入力できるようになります(これにより、直通の電話番号を持つエンドユーザーだけでなく、IVR の先にいるエンドユーザーにも連絡できます)

5. 通話料金の上限(1分あたり) : 発信通話の料金はお客様のご負担となるため、これらの通話の1分あたりの費用を制限するオプションもあります。エンドユーザーが衛星電話を使って認証するような状況は避けたいところでしょう(非常に高額になってしまいます!)

6. Wait for hello(最初の「もしもし」を待つ) : 「No」に設定すると、通話に応答された時点でPINを読み上げます。「Yes」に設定すると、最初の「もしもし」をまず待ってから読み上げます(到達性がある程度向上しますが、PINを聞く前に通話を切るユーザーが出る可能性があります。このオプションを有効にすると、通常約3%のユーザーがPINを聞く前に通話を切ります)。

これらすべてのオプションの設定が完了したら、「Submit」ボタンをクリックしてください。後で説明すると述べた「Unique Identifier」を覚えていますか?今こそそれを使う時です(下のスクリプト内の「WHATEVERID」にご注意ください)

ウェブサイトに2段階認証を実装する方法は次のとおりです:

<!DOCTYPE html>
<head>
  <title>2Factor Authentication test</title>
  <script type="text/javascript">
    (function(d, script) {
      script = d.createElement('script');
      script.type = 'text/javascript';
      script.async = true;
      script.onload = function(){
          // remote script has loaded
      };
      script.src = 'https://api.multitel.net/tfa/js/WHATEVERID/WHATEVERCUSTOMER';
      d.getElementsByTagName('head')[0].appendChild(script);
    }(document));
  </script>
</head>
<html>
  <body>
    <div id="multitel" width="100px"></div>
  <body>
</html>

コード例 · ソースを表示

そのページを開くと、次のように表示されます:

2段階認証 - ステップ 6

エンドユーザーが電話番号の入力を始めると、国が表示され始めます。

米国の番号の場合:

2段階認証 - ステップ 7

英国の番号の場合:

2段階認証 - ステップ 8

エンドユーザーは「Send SMS」(SMS送信)または「Phone Call」(電話)をクリックできます。SMSまたは電話で受け取った確認コードを入力し、「Verify」(確認)をクリックします。

設定されている場合、その情報を「WHATEVERCUSTOMERID」とともに送信します。

ドキュメントを検索