Uwierzytelnianie dwuskładnikowe, znane również jako 2FA, weryfikacja dwuetapowa lub TFA (jako akronim), to dodatkowa warstwa zabezpieczeń znana jako „uwierzytelnianie wieloskładnikowe”, która wymaga nie tylko hasła i nazwy użytkownika, ale także czegoś, co posiada wyłącznie ten użytkownik, tj. informacji, którą tylko on powinien znać lub mieć natychmiast pod ręką – na przykład tokenu fizycznego – w naszym przypadku telefonu. Telefonu, do którego przypisany jest identyfikowalny numer telefonu.
Poniższy samouczek wyjaśni, jak skonfigurować uwierzytelnianie dwuskładnikowe dla nowej lub istniejącej witryny internetowej.
Najpierw zaloguj się na swoje konto i znajdź ekran uwierzytelniania dwuskładnikowego:
- Kliknij kafelek „Aplikacje”:
- Na stronie Aplikacje kliknij kafelek „2 Factor Auth”:
- Na stronie „2 Factor Auth” (Uwierzytelnianie dwuskładnikowe) kliknij przycisk „Create New” (Utwórz nowe).
Oto opcje, które zobaczysz:

Oto wyjaśnienie różnych dostępnych opcji:
1. Nazwa : nazwa tej instancji uwierzytelniania dwuskładnikowego
2. Opis : krótki opis
3. CallerID : Jest to CallerID używany przy wykonywaniu połączeń wychodzących (jeśli połączenia wychodzące są włączone) .
4. SenderID : To identyfikator nadawcy SMS/wiadomości tekstowych (numer nadawcy), który będzie używany podczas wysyłania SMS-ów/wiadomości tekstowych. Pamiętaj, że w przypadku USA/Kanady, zanim będzie można wybrać tę opcję, na koncie musi znajdować się numer telefonu z obsługą SMS.
5. Zezwalaj na wybieranie numerów : Ta opcja umożliwi Twoim użytkownikom końcowym i odwiedzającym weryfikację numerów telefonów poprzez odbieranie połączeń. Po ustawieniu wartości „Tak” pojawi się kolejny zestaw opcji. Przewiń w dół, aby zobaczyć opis.
6. Długość kodu PIN : długość kodu PIN, domyślnie 4 znaki
7. Adres URL dla żądań POST : To jedna z najważniejszych opcji, jakie można ustawić: jest to adres URL, którego użyjemy do wysyłania do Ciebie informacji uwierzytelniających/weryfikacyjnych. Odbywa się to wyłącznie po stronie serwera, więc Twoi użytkownicy końcowi nie będą znać tego adresu URL.
8. Lokalny adres URL dla POST (Local Post URL) : Jest to adres URL, pod który nasz aplet będzie wysyłać żądania POST w interfejsie dostępnym dla klienta (aby Twoja aplikacja mogła dalej przetwarzać działania rejestracji lub logowania użytkownika)
9. DIV ID : Nasza aplikacja uwierzytelniania dwuskładnikowego (2Factor Authentication) użyje tego identyfikatora div do wyświetlenia osadzonego interfejsu użytkownika (UI). Należy go ponadto zdefiniować w kodzie HTML Twojej strony jako pusty DIV .
Na przykład, jeśli ustawisz DIV ID jako „2fa” , edytuj stronę logowania/rejestracji i dodaj pusty div, taki jak ten :
. Tutaj pojawi się aplet 2FA.
10. Rodzaj uwierzytelniania : Masz dwie opcje: „Post URL” (która spowoduje wywołanie adresu URL/opcji wyjaśnionej powyżej w punkcie „7. POST URL”), oraz „Enable Directly”, która po prostu umożliwi dalsze przesłanie formularza do „8. Local Post URL” (mniej bezpieczne)
11. Domena : Należy ograniczyć to do domeny używanej przez Twoją witrynę. Jeśli Twoja witryna to www.test.com, ogranicz użycie do tej domeny, aby aplikacja 2FA działała wyłącznie w tej domenie.
12. Pokaż Captcha : Ta opcja kontroluje wyświetlanie Captcha w interfejsie użytkownika 2FA osadzanym na stronie.
13. Maksymalna liczba ponowień: Na ile ponowień powinniśmy zezwolić każdemu odwiedzającemu?
14. Unikalny identyfikator (Unique Identifier) : To jest unikalny identyfikator, którego użyjesz dla tego gotowego do osadzenia apletu 2FA. Wyjaśnimy, jak go używać, później (czytaj dalej ten artykuł :) )
15. Maksymalna liczba ponownych prób SMS : Ile razy zezwalamy użytkownikowi końcowemu na ponowienie wysyłki SMS?
16. Maksymalna liczba ponownych prób połączenia : Ile razy użytkownik końcowy może ponowić próbę zadzwonienia na swój numer?
17. Wiadomość SMS : Pozwala wysłać konfigurowalną wiadomość SMS (opcja jeszcze niedostępna)
18. Łącze pomocy : Będzie to łącze pomocy wyświetlane w osadzanym aplecie 2FA. Jeśli nie określono żadnego, nic nie zostanie wyświetlone.
Gdy opcja „Allow Dialing” (zezwalaj na wybieranie numerów) jest ustawiona na yes (tak), dostępne staną się następujące opcje:

Oto wyjaśnienie dodatkowych opcji:
1. Wybór dźwięku (Audio Choice): umożliwia wybór sposobu przekazania użytkownikowi jego numeru PIN do uwierzytelniania. Dostępne opcje to TTS i Audio. Wybranie Audio ukryje opcje „Synteza mowy” (Text to speech) i „Język syntezy mowy” (Text to speech language) i zastąpi je opcjami „Nagrany głos” (Prerecorded audio voice) (jakiego głosu powinniśmy użyć?) oraz „Język nagranego głosu” (Prerecorded audio voice language), jak pokazano poniżej:

2. Zamiana tekstu na mowę : jeśli opcja Wybór dźwięku jest ustawiona na „TTS”, to jest to tekst, który silnik TTS odczyta użytkownikowi końcowemu (obowiązują opłaty za TTS).
3. Język syntezy mowy: Jest to język, w którym tekst będzie odczytywany na głos.
4. Zezwalaj na wybieranie numerów wewnętrznych (Allow extension dialing) : Jeśli ustawiono na „tak (yes)”, użytkownik końcowy będzie mógł również wprowadzić swój numer wewnętrzny (dzięki czemu można dotrzeć do użytkowników końcowych za centralami IVR, a nie tylko do użytkowników posiadających bezpośrednie numery telefonów)
5. Maksymalna stawka połączenia : Ponieważ płacisz za połączenia wychodzące, możesz też ograniczyć koszt za minutę związany z tymi połączeniami. Prawdopodobnie nie chcesz, aby Twoi użytkownicy końcowi uwierzytelniali się przy użyciu telefonów satelitarnych (byłoby to bardzo drogie, ojej!)
6. Czekaj na powitanie (Wait for hello) : Jeśli ustawiono „No”, nasz system odczyta numer PIN zaraz po odebraniu połączenia. Jeśli ustawiono „Yes”, nasz system najpierw poczeka na pierwsze „halo” (w pewnym stopniu poprawia to skuteczność dostarczania, ale może powodować, że część użytkowników przerwie połączenie, zanim usłyszy numer PIN – zwykle około 3% użytkowników rozłącza się przed usłyszeniem numeru PIN, gdy ta opcja jest włączona).
Gdy zakończysz ustawianie wszystkich tych opcji, po prostu kliknij przycisk „Prześlij (Submit)”. Pamiętasz „Unikalny identyfikator (Unique Identifier)”, o którym mówiliśmy, że wyjaśnimy później? Teraz nadszedł czas, aby go użyć (zwróć uwagę na „WHATEVERID” w poniższym skrypcie?)
Oto jak wdrożyć uwierzytelnianie dwuetapowe na swojej stronie internetowej:
<!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>Przykład kodu · Zobacz źródło
A tak będzie wyglądać ta strona po jej otwarciu:

Gdy użytkownicy końcowi zaczęliby wpisywać numer telefonu, kraj zacząłby się wyświetlać:
Dla numerów amerykańskich:

Dla numerów brytyjskich:

Użytkownicy końcowi mogą teraz kliknąć „Wyślij SMS (Send SMS)” lub „Połączenie telefoniczne (Phone Call)”. Po otrzymaniu wiadomości SMS lub połączenia telefonicznego mogą wpisać otrzymany kod, a następnie kliknąć „Zweryfikuj (Verify)”.
Jeśli zostanie ustawione, będziemy przesyłać te informacje wraz z „WHATEVERCUSTOMERID”

