L'authentification à deux facteurs, également appelée 2FA, vérification en deux étapes ou TFA (comme acronyme), est une couche de sécurité supplémentaire connue sous le nom d'« authentification multifacteur », qui exige non seulement un mot de passe et un nom d'utilisateur, mais aussi quelque chose que seul, et uniquement, cet utilisateur possède sur lui, c'est-à-dire une information qu'il devrait seul connaître ou avoir immédiatement sous la main - comme un jeton physique - dans notre cas, un téléphone. Un téléphone auquel un numéro de téléphone traçable est attribué.
Le tutoriel suivant expliquera comment configurer l'authentification à 2 facteurs pour votre site web nouveau ou existant.
Tout d’abord, connectez-vous à votre compte et trouvez l’écran d’authentification à deux facteurs (2 Factor Authentication) :
- Cliquez sur la tuile « Applications » :
- Une fois sur la page Applications, cliquez sur la tuile « 2 Factor Auth » :
- Sur la page « 2 Factor Auth » (authentification à deux facteurs), cliquez sur « Create New » (créer).
Voici les options qui s'afficheront :

Voici une explication des différentes options disponibles :
1. Nom : nom de cette instance d'authentification à deux facteurs
2. Description : une brève description
3. CallerID : Il s'agit du CallerID qui sera utilisé lors des appels sortants (si les appels sortants sont activés).
4. SenderID : Il s'agit du SenderID SMS/texto (numéro expéditeur) qui sera utilisé lors de l'envoi des SMS/textos. Veuillez noter que, pour les États-Unis/le Canada, vous devez disposer dans votre compte d'un numéro de téléphone compatible SMS avant de pouvoir sélectionner cette option.
5. Autoriser la numérotation : Cette option donnera à vos utilisateurs finaux/visiteurs la possibilité de vérifier leurs numéros de téléphone en recevant des appels. Lorsqu’elle est définie sur « Oui » (Yes), un autre ensemble d’options apparaîtra. Faites défiler vers le bas pour la description.
6. Longueur du PIN : longueur du PIN, par défaut 4 caractères
7. URL pour les requêtes POST : Il s'agit de l'une des options les plus importantes que vous pouvez définir : c'est l'URL que nous utiliserons pour vous envoyer les informations d'authentification/vérification. Tout cela se passe côté serveur ; vos utilisateurs finaux ne connaîtront donc pas cette URL.
8. URL POST locale (Local Post URL) : URL à laquelle notre applet envoie une requête POST depuis l’interface destinée à l’utilisateur, afin que votre application puisse traiter ses actions d’inscription ou de connexion.
9. DIV ID : notre application d’authentification à deux facteurs utilisera cet identifiant de div pour afficher l’interface utilisateur (UI) intégrée. Il doit ensuite être défini dans le code HTML de votre page sous la forme d’une DIV vide.
Par exemple, si vous définissez DIV ID sur « 2fa », vous devez modifier votre page de connexion/inscription et y ajouter une div vide comme celle-ci :
. C'est ici que l'applet 2FA apparaîtra.
10. Type d’authentification : deux options sont disponibles : « Post URL » (qui déclenche un appel à l’URL selon le fonctionnement expliqué ci-dessus dans « 7. POST URL ») et « Enable Directly », qui permet simplement au formulaire de transmettre ensuite ses données par POST à « 8. Local Post URL » (moins sécurisé)
11. Domaine (Domain) : vous pouvez et devez limiter l’utilisation au domaine de votre site web. Par exemple, si votre site est www.test.com, restreignez l’application 2FA à ce domaine afin qu’elle ne fonctionne que sur celui-ci.
12. Afficher le CAPTCHA (Show Captcha) : cette option contrôle l’affichage du CAPTCHA dans l’interface 2FA intégrable à un site.
13. Nombre maximal de tentatives : Combien de tentatives devons-nous autoriser par visiteur ?
14. Identifiant unique : il s’agit de l’identifiant unique utilisé pour cette applet 2FA intégrée. Nous expliquerons son utilisation plus loin (continuez à lire cet article :) )
15. Nombre maximal de tentatives SMS : combien de fois l'utilisateur final peut-il réessayer d'envoyer le SMS ?
16. Nombre maximal de nouvelles tentatives d'appel : combien de fois devons-nous permettre à l'utilisateur final de réessayer d'appeler son numéro ?
17. Message SMS : Permet d'envoyer un message SMS configurable (option pas encore disponible)
18. Lien d'aide : il s'agit du lien d'aide affiché dans l'applet intégré 2FA. S'il n'est pas spécifié, rien ne sera affiché.
Lorsque « Allow Dialing » est réglé sur Oui, les options suivantes deviendront disponibles :

Voici une explication des options supplémentaires :
1. Choix audio (Audio Choice) : vous permet de choisir comment l'utilisateur recevra son code PIN d'authentification. Les choix disponibles sont TTS et Audio. Sélectionner Audio masque les options « Synthèse vocale » (Text to speech) et « Langue de synthèse vocale » (Text to speech language) et les remplace par « Voix audio préenregistrée » (Prerecorded audio voice) (quel type de voix utiliser ?) et « Langue de la voix préenregistrée » (Prerecorded audio voice language), comme illustré ci-dessous :

2. Synthèse vocale : si Choix audio est défini sur « TTS », alors il s’agit du texte que le moteur TTS lira à l’utilisateur final (frais TTS applicables).
3. Langue de synthèse vocale : il s’agit de la langue dans laquelle le texte sera lu à voix haute.
4. Autoriser la saisie d’une extension (Allow extension dialing) : si la valeur est yes (oui), l’utilisateur final peut aussi saisir son numéro d’extension. Vous pouvez ainsi joindre les utilisateurs situés derrière un menu vocal interactif (IVR), et pas seulement ceux qui disposent d’un numéro direct.
5. Tarif d'appel maximal : Puisque vous payez les appels sortants, vous avez également la possibilité de limiter le coût par minute associé à ces appels. Vous ne souhaitez probablement pas que vos utilisateurs finaux s'authentifient à l'aide de téléphones satellites (cela serait très coûteux, aïe !)
6. Attendre le premier « allô » (Wait for hello) : si la valeur est « No », notre système lit le code PIN dès que l’appel est décroché. Si la valeur est « Yes », notre système attend d’abord le premier « allô » (cela améliore quelque peu la transmission, mais peut amener certains utilisateurs à raccrocher avant d’entendre le code PIN — environ 3 % des utilisateurs raccrochent avant de l’entendre lorsque cette option est activée).
Une fois toutes ces options définies, cliquez simplement sur le bouton « Envoyer » (Submit). Vous souvenez-vous de l’« Identifiant unique » (Unique Identifier) que nous avions promis d’expliquer plus tard ? C’est le moment de l’utiliser (remarquez « WHATEVERID » dans le script ci-dessous ?)
Voici comment mettre en œuvre l'authentification en deux étapes sur votre site web :
<!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>Exemple de code · Voir la source
Et voici ce que vous verrez en ouvrant cette page :

Lorsque les utilisateurs finaux commencent à saisir un numéro de téléphone, le pays commence à s'afficher :
Pour les numéros américains :

Pour les numéros du Royaume-Uni :

Les utilisateurs peuvent cliquer sur « Send SMS » (envoyer un SMS) ou « Phone Call » (appel téléphonique). Après réception du SMS ou de l’appel, ils peuvent saisir le code reçu, puis cliquer sur « Verify » (vérifier).
Si cette option est définie, nous transmettrons ces informations par requête POST, avec « WHATEVERCUSTOMERID »

