Aumento del 100% delle registrazioni di passkey di Amedia tramite WebOTP

Henning Haaland Kulander
Henning Haaland Kulander
Yu Tsuno
Yu Tsuno

Data di pubblicazione: 30 giugno 2026

Logo Amedia

Amedia è il più grande editore norvegese di media editoriali locali, gestisce oltre 100 testate giornalistiche e raggiunge oltre 2 milioni di lettori al giorno. Per offrire un'esperienza unificata e senza interruzioni, Amedia utilizza aID, la propria soluzione di identità digitale interna. Questo sistema di account federato basato su standard non solo concede agli utenti l'accesso all'intera rete di Amedia, ma è stato adottato anche da altri giornali norvegesi e danesi.

La sfida: introdurre le passkey a una base utenti eterogenea

Per Amedia, la procedura di accesso è la porta di accesso ai suoi contenuti. Ogni secondo di attrito influisce direttamente sul numero di lettori. Mentre le password normali e l'autenticazione a due fattori (2FA) basata su SMS sono notoriamente scomode per gli utenti in movimento, il passaggio diretto alle passkey ha introdotto un ostacolo inaspettato: la totale sconoscenza.

Poiché l'ID dispositivo è spesso il primo incontro di un utente con una passkey, forzare un cambiamento improvviso a una richiesta biometrica sconosciuta ha causato qualche esitazione. Amedia si è resa conto che non poteva semplicemente implementare la tecnologia: doveva aiutare gli utenti a capire come utilizzare le passkey.

La soluzione: un flusso combinato di WebOTP e passkey

Anziché costringere gli utenti a scegliere tra una vecchia abitudine (gli SMS) e un concetto completamente estraneo (le passkey), Amedia li ha combinati in un'unica esperienza di onboarding fluida. Hanno utilizzato l'API WebOTP per semplificare la procedura di verifica tramite SMS e configurare in modo invisibile l'infrastruttura per gli accessi senza password sul backend.

1. Registrazione senza problemi su tutte le piattaforme

Quando un utente si registra per aID, inserisce il proprio nome, numero di telefono ed email. Amedia invia quindi una password monouso (OTP) tramite SMS. Amedia si basa in particolare sull'OTP via SMS anziché via email perché è raro avere più di un numero di telefono in Scandinavia e i numeri vengono trasferiti senza problemi quando si cambia operatore mobile. Questa stabilità rende i numeri di telefono un identificatore principale affidabile per gli accessi e un punto dati coerente per la creazione di profili utente estesi. Invece di costringere l'utente a uscire dal browser, aprire l'app di messaggistica, memorizzare il codice e digitarlo, Amedia utilizza l'API WebOTP. Nei browser mobili supportati, viene visualizzato un riquadro inferiore che consente all'utente di toccare semplicemente Verifica. Il browser recupera automaticamente l'OTP dall'SMS e invia il modulo.

Flusso di verifica WebOTP

Inoltre, Amedia ha aggiornato la distribuzione degli SMS per utilizzare il formato standardizzato dei messaggi associati all'origine (ad esempio, @www.aid.no #123456) , consentendo accessi senza problemi nell'ecosistema più ampio. Questo standard non solo supporta l'API WebOTP su browser come Chrome, Opera e Vivaldi su Android e computer, ma attiva anche senza problemi la funzionalità autocomplete="one-time-code" di Safari. Di conseguenza, gli utenti delle piattaforme mobile e desktop usufruiscono di un flusso OTP sicuro e automatizzato senza richiedere una logica di backend specifica per la piattaforma. Per scoprire di più, consulta le best practice per il modulo OTP via SMS.

// Detect feature support using OTPCredential availability
if ('OTPCredential' in window) {
  window.addEventListener('DOMContentLoaded', e => {
    const input = document.querySelector('input[autocomplete="one-time-code"]');
    if (!input) return;

    const ac = new AbortController();
    const form = input.closest('form');
    if (form) {
      form.addEventListener('submit', (e) => {
         ac.abort();
      });
    }

    navigator.credentials.get({
      otp: { transport: ['sms'] },
      signal: ac.signal
    }).then(otp => {
      // Automatically fill the input and submit the form
      input.value = otp.code;
      if (form) form.submit();
    }).catch(err => {
      console.error('WebOTP error:', err);
    });
  });
}

2. Registrazione immediata della passkey

In precedenza, dopo che un utente aveva completato la verifica WebOTP, Amedia gli offriva una scelta: creare una password normale o configurare una passkey. Come previsto, di fronte a un termine tecnico sconosciuto, la maggior parte degli utenti ha scelto la soluzione più semplice: saltare completamente il passaggio o utilizzare una password standard.

A metà febbraio, il team di Amedia ha cambiato approccio. Hanno integrato il prompt di registrazione della passkey immediatamente nel flusso post-verifica, prima ancora di presentare le scelte. Per rispettare i rigorosi requisiti relativi all'attivazione dall'utente su browser come Chrome e Safari, Amedia ha concatenato senza problemi l'interazione. Poiché l'utente conferma prima l'OTP, questo tocco iniziale funge da attivazione dall'utente richiesta per richiamare direttamente il prompt navigator.credentials.create(). Rendendo le passkey l'esperienza predefinita anziché un'impostazione facoltativa, Amedia ha raddoppiato immediatamente il tasso di registrazione riuscita.

Sebbene questo prompt immediato si sia rivelato molto efficace, il team ha tentato di semplificare ulteriormente l'esperienza utilizzando la "creazione condizionale", un meccanismo che genera una passkey completamente in background senza richiedere l'intervento diretto dell'utente. Tuttavia, hanno incontrato un ostacolo tecnico: la creazione condizionale richiede un accesso precedente utilizzando una password valida salvata in un gestore delle password. Poiché il flusso WebOTP di Amedia è completamente privo di password, non soddisfa questo criterio di sicurezza. Per aggirare questo vincolo, Amedia ora riserva la creazione condizionale solo ai normali flussi di accesso a due fattori (password e codice OTP), utilizzando l'attivazione dall'utente concatenata per l'onboarding senza password.

Richiesta di registrazione della passkey

Per garantire un'esperienza affidabile, il sistema utilizza un flusso di registrazione standard. Viene visualizzata una finestra di dialogo dell'interfaccia utente del browser in cui il sistema richiede in modo sicuro l'interfaccia utente di registrazione della passkey del browser. L'utente crea una passkey utilizzando il blocco schermo (dati biometrici o PIN) del dispositivo. Se concatenato subito dopo WebOTP, l'utente completa la configurazione senza dover mai inventare una password.

// Triggered immediately after successful WebOTP verification
async function registerPasskey(creationOptionsFromServer) {
  try {
    const credential = await navigator.credentials.create({
      publicKey: {
        ...creationOptionsFromServer,
        authenticatorSelection: {
          residentKey: "required",
          userVerification: "required"
        }
      }
    });

    // Send the new credential to the server for registration
    await sendCredentialToServer(credential);
  } catch (error) {
    console.error("Passkey registration failed", error);
  }
}

3. Accessi successivi rapidi

Alla visita successiva di una pubblicazione Amedia sullo stesso dispositivo, aID attiva automaticamente l'accesso con passkey. Se l'utente interagisce con la pagina prima che venga visualizzato il prompt automatico o se il prompt automatico viene chiuso, il sistema utilizza la compilazione automatica del modulo passkey.

In questo modo, la procedura di accesso è rapida, in quanto l'utente deve solo interagire con la richiesta del browser/sistema operativo o con i suggerimenti di compilazione automatica della tastiera per selezionare la passkey, evitando completamente l'inserimento manuale del modulo.

// Triggering conditional UI for autofill suggestions
async function authenticateWithPasskey(requestOptionsFromServer) {
  try {
    const credential = await navigator.credentials.get({
      publicKey: requestOptionsFromServer,
      mediation: "conditional" // Enables autofill integration
    });

    // Authenticate the user on the server
    await verifyAssertionWithServer(credential);
  } catch (error) {
    console.error("Passkey authentication failed", error);
  }
}

Impatto: concatenamento per un'adozione senza problemi

Grazie all'innovazione del flusso di onboarding, Amedia ha ridotto significativamente l'attrito per i lettori nuovi e di ritorno. La combinazione di WebOTP e passkey ha portato a miglioramenti operativi e dell'esperienza evidenti:

  • Registrazioni molto più rapide: il tempo complessivo necessario per creare un nuovo account aID è diminuito in modo significativo grazie all'inserimento automatico di WebOTP e alla rimozione completa della creazione manuale della password.
  • Il 48% dei nuovi utenti crea passkey: richiedendo la creazione di passkey immediatamente dopo la verifica WebOTP, Amedia ha ottenuto un tasso di conversione eccezionalmente elevato per la registrazione delle passkey, con un aumento del 100% rispetto al precedente flusso di onboarding basato sulla scelta.
  • Accesso più rapido dell'82%: gli utenti che tornano autenticano più di cinque volte più velocemente utilizzando le passkey rispetto a metodi alternativi come le password o l'inserimento manuale dell'OTP.
Metrica Valore
Tasso di creazione di passkey per i nuovi utenti 48%
Accesso più rapido per gli utenti di ritorno 82%
Aumento dell'adozione delle passkey 100%

In definitiva, mentre l'ecosistema digitale più ampio continua a superare le sfide relative alla terminologia delle passkey e all'istruzione degli utenti, l'approccio proattivo di Amedia fornisce un modello di successo. L'integrazione delle passkey in un servizio ad alta frequenza utilizzato da milioni di persone ogni giorno stabilisce un nuovo standard per l'accesso senza interruzioni nel settore dei media, offrendo un aggiornamento permanente della sicurezza senza sacrificare la fidelizzazione degli utenti.