🔑 A Web OTP API otimiza a experiência durante o fluxo de autenticação via SMS na web, reduzindo a fricção entre a requisição do código e o preenchimento automático dele na aplicação.

📱 Hoje a API tem suporte estável em Chrome e Edge no Android. No iOS e macOS, o Safari não implementa a Web OTP API, mas oferece um mecanismo equivalente via o atributo autocomplete="one-time-code" no <input> — o que vale combinar pra cobrir as duas plataformas:

<input type="text" inputmode="numeric" autocomplete="one-time-code" />
if ("OTPCredential" in window) {
  const ac = new AbortController();
  const otp = await navigator.credentials.get({
    otp: { transport: ["sms"] },
    signal: ac.signal,
  });
  inputElement.value = otp.code;
}

⚠️ A mensagem SMS precisa seguir um formato específico, terminando com @dominio.com #codigo, para que o browser consiga identificá-la com segurança.

Demonstração da OTP API

LoFM.