Enregistrer des numéros de téléphone de test

Ce document explique comment enregistrer des numéros de téléphone avec Identity Platform à des fins de développement. Cela vous permet de tester les méthodes d'authentification impliquant l'envoi d'un message SMS, par exemple la connexion par téléphone et l'authentification multifacteur.

L'utilisation d'un numéro de test (plutôt qu'un numéro existant que vous possédez) présente plusieurs avantages :

  • Elle s'intègre parfaitement aux émulateurs iOS et Android.
  • Elle élimine les frais liés à l'envoi d'un véritable SMS.
  • Vous pouvez effectuer des tests consécutifs avec le même numéro de téléphone, sans être limité.
  • Vous pouvez écrire des tests d'intégration sans être bloqué par les tests de sécurité.
  • Votre quota d'utilisation n'est pas consommé.

Vous pouvez enregistrer jusqu'à 10 numéros de téléphone pour le développement.

Enregistrer un numéro de téléphone de test

Pour enregistrer un numéro de téléphone de test, procédez comme suit :

  1. Accédez à la page Fournisseurs d'identité dans la console Google Cloud.
    Accéder à la page "Fournisseurs d'identité"

  2. Si vous testez l'authentification par téléphone, recherchez-le dans la liste des fournisseurs, puis cliquez sur l'icône Modifier. Si vous testez l'authentification multifacteur, sélectionnez l'onglet SMS multifacteur, puis cliquez sur Modifier.

  3. Sous Phone numbers for testing (Numéros de téléphone à des fins de test), saisissez un numéro de téléphone et un code de validation pour vous inscrire.

    Le numéro de téléphone doit utiliser le format E.164, et ne peut pas déjà être attribué à un utilisateur existant d'Identity Platform. Le code de validation doit comporter six chiffres. Pour des raisons de sécurité, choisissez des nombres difficiles à deviner et évitez d'utiliser des formats trop évidents, tels que +1 123-456-7890.

  4. Cliquez sur Enregistrer.

Les numéros de téléphone de test sont traités comme des numéros de téléphone réels par Identity Platform. Vous devez donc les conserver en toute sécurité et les alterner à intervalles réguliers.

Tests manuels

Vous pouvez immédiatement commencer à utiliser des numéros de téléphone de test dans votre application, directement ou à l'aide des émulateurs iOS et Android. En cas de connexion avec un numéro de téléphone de test, aucun code de validation par SMS n'est envoyé. À la place, saisissez le code que vous avez enregistré lors de la création du numéro de test.

Une fois la connexion effectuée, un utilisateur Identity Platform est créé à l'aide du numéro de téléphone de test. Cet utilisateur a le même comportement et les mêmes propriétés qu'un véritable utilisateur, y compris un jeton d'ID valide, ce qui signifie qu'il peut accéder à toutes vos applications et services.

Pour restreindre l'accès de vos utilisateurs de test, envisagez de créer un rôle de test avec des autorisations limitées et de l'attribuer à l'aide de revendications personnalisées.

Tests d'intégration

En plus des tests manuels, le SDK client contient des API qui peuvent aider à écrire des tests d'intégration. Ces API désactivent les exigences de reCAPTCHA et de validation des applications, ce qui permet de les contourner plus facilement avec l'automatisation.

L'exemple suivant montre comment tester la connexion d'un utilisateur avec un numéro de téléphone :

JavaScript

// Turn off phone app verification.
firebase.auth().settings.appVerificationDisabledForTesting = true;

var phoneNumber = "+16505554567";
var testVerificationCode = "123456";

// Render a fake reCAPTCHA and resolve without app verification.
var appVerifier = new firebase.auth.RecaptchaVerifier('recaptcha-container');
// signInWithPhoneNumber will call appVerifier.verify(), which will resolve
// with a fake reCAPTCHA response.
firebase.auth().signInWithPhoneNumber(phoneNumber, appVerifier)
  .then(function (confirmationResult) {
    // confirmationResult can resolve using testVerificationCode.
    return confirmationResult.confirm(testVerificationCode)
  }).catch(function (error) {
    // Error; SMS not sent
    // ...
  });

Les outils de vérification de reCAPTCHA factice visible et invisible se comportent différemment lorsque la validation des applications est désactivée :

  • reCAPTCHA visible : pour simuler un clic utilisateur, la méthode reCAPTCHA se résout automatiquement après un bref délai.

  • reCAPTCHA invisible : pour simuler la validation des applications, la méthode reCAPTCHA se résout automatiquement lorsque appVerifier.verify() est appelé.

Les méthodes reCAPTCHA factives déclenchent toujours leurs rappels lorsqu'elles se résolvent ou expirent.

Étapes suivantes

  • Ajouter l'authentification multifacteur à votre application Web, iOS ou Android.