Двухфакторная аутентификация для веб-сайтов

Двухфакторная аутентификация, также известная как 2FA, двухэтапная проверка или TFA (по аббревиатуре), — это дополнительный уровень безопасности, называемый «многофакторной аутентификацией», при котором требуются не только пароль и имя пользователя, но и нечто, что есть только у этого пользователя: информация, которую должен знать только он, или предмет, который всегда у него под рукой, например физический токен — в нашем случае телефон. Телефон, которому назначен отслеживаемый номер.

В следующем руководстве объясняется, как настроить двухфакторную аутентификацию для вашего нового или существующего веб-сайта.

Прежде всего войдите в свою учетную запись и найдите экран двухфакторной аутентификации:

- Нажмите на плитку «Приложения»:

Двухэтапная аутентификация — шаг 1

- На странице «Приложения» нажмите на плитку «Двухфакторная аутентификация (2 Factor Auth)»:

Двухэтапная аутентификация — шаг 2

- На странице «2 Factor Auth» (Двухфакторная аутентификация) нажмите кнопку «Create New» (Создать новую запись).

Вот параметры, которые вы увидите:

Двухэтапная аутентификация — шаг 3

Ниже приведено объяснение различных доступных параметров:

1. Имя : имя этого экземпляра двухфакторной аутентификации

2. Описание: краткое описание

3. CallerID : Это CallerID, который будет использоваться при совершении исходящих вызовов (если исходящие вызовы включены) .

4. SenderID : Это идентификатор отправителя SMS/текстовых сообщений (номер отправителя From), который будет использоваться при отправке SMS/текстовых сообщений. Обратите внимание, что для США/Канады в вашей учетной записи должен быть номер телефона с поддержкой SMS, прежде чем вы сможете выбрать эту опцию.

5. Разрешить набор номера: этот параметр предоставит вашим конечным пользователям/посетителям возможность подтверждать свои номера телефонов путем приема вызовов. При установке значения «Да (Yes)» появится другой набор параметров. Прокрутите вниз для получения описания.

6. Длина PIN-кода : длина PIN-кода, по умолчанию 4 символа

7. URL для POST : Это одна из самых важных настроек, которые вы можете задать: это URL, который мы используем для отправки вам информации об аутентификации/проверке. Всё это происходит на стороне сервера, поэтому ваши конечные пользователи не узнают об этом URL.

8. Local Post URL : Это URL, на который наш апплет будет отправлять данные в клиентском интерфейсе (чтобы ваше приложение могло дополнительно обработать действия пользователя по регистрации или входу)

9. DIV ID : наше приложение 2Factor Authentication будет использовать этот div id для отображения встраиваемого пользовательского интерфейса (UI). Он также должен быть определён в HTML-коде вашей страницы в виде пустого DIV.
Например, если вы задали DIV ID равным «2fa», то вам нужно отредактировать страницу входа/регистрации и добавить пустой div, например такой:

. Именно здесь появится апплет 2FA.

10. Тип аутентификации : доступны два варианта: «Post URL» (будет выполнен вызов URL/опции, описанной выше в пункте «7. POST URL») и «Enable Directly» (разрешить напрямую), при котором форма просто сможет отправлять данные далее на «8. Local Post URL» (менее безопасно)

11. Домен : вы можете и должны ограничить это доменом, который использует ваш сайт. Если ваш сайт — www.test.com, ограничьте использование этим доменом, чтобы приложение 2FA работало только в этом домене.

12. Показать Captcha : этот параметр управляет отображением Captcha во встраиваемом пользовательском интерфейсе 2FA.

13. Максимальное число повторных попыток: сколько повторных попыток следует разрешить на посетителя?

14. Уникальный идентификатор : это уникальный идентификатор, который вы будете использовать для этого встраиваемого апплета 2FA. Мы объясним, как его использовать, позже (продолжайте читать эту статью :) )

15. Максимальное число повторных попыток отправки SMS : Сколько раз следует разрешать конечному пользователю повторять отправку SMS?

16. Максимальное число повторных попыток вызова : сколько раз следует разрешить конечному пользователю повторно набирать свой номер?

17. SMS-сообщение : позволяет отправить настраиваемое SMS-сообщение (опция пока недоступна)

18. Ссылка на справку : Это ссылка на справку, отображаемая во встраиваемом апплете 2FA. Если ссылка не указана, ничего не будет показано.

Когда для параметра «Разрешить набор» установлено значение «да», станут доступны следующие параметры:

Двухэтапная аутентификация — шаг 4

Вот пояснение к дополнительным параметрам:

1. Выбор аудио (Audio Choice): позволяет выбрать, как пользователю будет предоставлен его аутентификационный PIN-код. Доступные варианты — TTS и Audio. При выборе Audio параметры «Преобразование текста в речь» (Text to speech) и «Язык преобразования текста в речь» (Text to speech language) скрываются и заменяются параметрами «Голос предварительно записанного аудио» (Prerecorded audio voice) (какой голос использовать?) и «Язык предварительно записанного голоса» (Prerecorded audio voice language), как показано ниже:

Двухэтапная аутентификация — шаг 5

2. Синтез речи : если для параметра Выбор аудио установлено значение «TTS», то это текст, который механизм TTS зачитает конечному пользователю (применяется оплата TTS).

3. Язык преобразования текста в речь: это язык, на котором будет зачитываться преобразованный текст в речь.

4. Allow extension dialing : если выбрано «yes», конечному пользователю будет разрешено также вводить свой внутренний номер (чтобы можно было дозвониться до конечных пользователей за IVR, а не только до тех, у кого есть прямые телефонные номера)

5. Максимальный тариф за минуту : Поскольку вы платите за исходящие вызовы, у вас также есть возможность ограничить стоимость минуты, связанную с этими вызовами. Вероятно, вы не хотите, чтобы ваши конечные пользователи проходили аутентификацию с помощью спутниковых телефонов (это было бы очень дорого, ой!)

6. Ждать приветствия (Wait for hello) : Если установлено «No», наша система озвучит PIN-код сразу после ответа на звонок. Если установлено «Yes», наша система сначала дождётся первого «алло» (это некоторым образом повышает доставляемость, но может привести к тому, что часть пользователей прервёт звонок, не услышав PIN-код — обычно около 3% пользователей прекращают звонок, ещё не услышав PIN-код, когда эта опция включена).

Когда вы закончите со всеми этими параметрами, просто нажмите кнопку «Отправить (Submit)». Помните «Уникальный идентификатор (Unique Identifier)», о котором мы обещали рассказать позже? Теперь пришло время его использовать (обратите внимание на «WHATEVERID» в скрипте ниже?)

Так можно реализовать двухэтапную аутентификацию на вашем сайте:

<!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>

Пример кода · Просмотреть исходный код

А вот что вы увидите, открыв эту страницу:

Двухэтапная аутентификация — шаг 6

Когда конечные пользователи начнут вводить номер телефона, будет появляться страна:

Для номеров США:

Двухэтапная аутентификация — шаг 7

Для номеров Великобритании:

Двухэтапная аутентификация — шаг 8

Теперь конечные пользователи могут нажать «Send SMS» или «Phone Call». После получения SMS/текстового сообщения или телефонного звонка они могут ввести полученный код и нажать «Verify».

Если параметр задан, мы будем отправлять эту информацию вместе с «WHATEVERCUSTOMERID»

Поиск документации