Como registrar números de telefone de teste

Neste documento, mostramos como registrar números de telefone no Identity Platform para fins de desenvolvimento. Isso permite testar métodos de autenticação que envolvem o envio de uma mensagem SMS, como login por telefone e autenticação multifator.

Usar um número de teste (em vez de um número real seu) tem várias vantagens:

  • Ele se integra perfeitamente aos emuladores de iOS e Android.
  • Ele elimina a sobrecarga de enviar um SMS real.
  • É possível executar testes consecutivos com o mesmo número de telefone sem ser limitado.
  • Você pode gravar testes de integração sem ser bloqueado por verificações de segurança.
  • Ele não consome sua cota de uso.

Você pode registrar até 10 números de telefone para desenvolvimento.

Como registrar um número de telefone de teste

Para registrar um número de telefone de teste:

  1. Acesse a página Provedores de identidade no console do Google Cloud.
    Acessar a página "Provedores do Identity Platform"

  2. Se você estiver testando a autenticação por telefone, localize-a na lista de provedores e clique no ícone Editar. Se você estiver testando a autenticação multifator, selecione a guia SMS multifator e clique em Editar.

  3. Em Números de telefone para testes, insira um número de telefone e um código de verificação para se inscrever.

    O número de telefone precisa usar o formato E.164 e ainda não pode ser atribuído a um usuário do Identity Platform atual. O código de verificação precisa ter seis dígitos. Por motivos de segurança, escolha números difíceis de adivinhar e evite padrões óbvios como +1 123-456-7890.

  4. Clique em Save.

Os números de telefone de teste são tratados como números de telefone reais pelo Identity Platform. Portanto, armazene-os com segurança e gire-os em intervalos regulares.

Teste manual

Você pode começar a usar imediatamente números de telefone de teste no seu app, diretamente ou usando os emuladores iOS e Android. Ao fazer login com um número de telefone de teste, nenhum código de verificação SMS é enviado. Insira o código registrado durante a criação do número de teste.

Depois de fazer login, um usuário do Identity Platform é criado usando o número de telefone de teste. Esse usuário tem o mesmo comportamento e propriedades de um usuário real, incluindo um token de ID válido, o que significa que ele pode acessar todos os seus aplicativos e serviços.

Para restringir o acesso dos usuários de teste, crie um papel de teste com permissões limitadas e atribua-o usando declarações personalizadas.

Teste de integração

Além do teste manual, o SDK do cliente contém APIs que podem ajudar a escrever testes de integração. Essas APIs desativam os requisitos de verificação do reCAPTCHA e do app, o que facilita a omissão com a automação.

O exemplo a seguir mostra como testar o login de um usuário com um número de telefone:

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
    // ...
  });

Os verificadores do reCAPTCHA simulados visíveis e invisíveis se comportam de maneira diferente quando a verificação do app está desativada:

  • reCAPTCHA visível: para simular um clique do usuário, o reCAPTCHA se resolve automaticamente após um breve atraso.

  • reCAPTCHA invisível: para simular a verificação de apps, o reCAPTCHA será resolvido automaticamente quando appVerifier.verify() for chamado.

Os reCAPTCHA externos ainda acionam os callbacks quando eles são resolvidos ou expiram.

A seguir

  • Adicione a autenticação multifator ao seu app da Web, iOS ou Android.