Aggiornamenti di FedCM: prova dell'origine per la riautenticazione automatica

Stiamo introducendo alcuni aggiornamenti a FedCM, inclusa una nuova prova dell'origine per la riconferma automatica.

L'API Federated Credential Management (FedCM) è un'API web per la federazione delle identità incentrata sulla tutela della privacy. Con la federazione delle identità, una RP (parte interessata) si basa su un IdP (provider di identità) per fornire all'utente un account senza richiedere un nuovo nome utente e una nuova password.

FedCM è un'API appositamente progettata che consente al browser di comprendere il contesto in cui la RP e l'IdP scambiano informazioni, di informare l'utente in merito alle informazioni e ai livelli di privilegio condivisi e di prevenire abusi involontari.

Aggiornamenti

Esistono alcuni aggiornamenti all'implementazione di FedCM in Chrome:

Per tutti gli aggiornamenti precedenti dell'API, consulta Aggiornamenti dell'API Federated Credential Management.

L'ultima versione di FedCM include una nuova funzionalità di autenticazione automatica che consente di autenticare automaticamente gli utenti quando tornano dopo l'autenticazione iniziale utilizzando FedCM. La riautenticazione automatica è disponibile come prova dell'origine a partire da Chrome 112.

Riautenticazione automatica

Al momento, dopo che un utente ha creato un account federato su un RP con un provider di identità tramite FedCM, alla successiva visita al sito web deve seguire gli stessi passaggi nell'interfaccia utente. In altre parole, devono confermare ed eseguire nuovamente l'autenticazione per procedere con il flusso di accesso. Poiché uno degli scopi principali di FedCM è impedire il monitoraggio occulto, questa esperienza utente (UX) ha senso prima che l'utente abbia creato l'account federato, ma diventa non necessaria e complicata dopo che l'utente lo ha completato una volta. Dopo che l'utente ha concesso l'autorizzazione per consentire la comunicazione tra l'RP e l'IdP,  non è previsto alcun vantaggio in termini di privacy o sicurezza per l'applicazione di un'altra conferma esplicita dell'utente per qualcosa che ha già confermato in precedenza. Per questo motivo, Chrome sta introducendo un'esperienza utente più snella che gli RP possono scegliere per i propri utenti di ritorno.

La re-autenticazione automatica di FedCM ("auto-reauthn" in breve) autentica automaticamente gli utenti (se gli RP la attivano) quando tornano dopo l'autenticazione iniziale utilizzando FedCM. Per "Autentificazione iniziale" si intende che l'utente crea un account o accede al sito web del RP toccando il pulsante "Continua come…" nella finestra di dialogo di accesso di FedCM per la prima volta nella stessa istanza del browser.

Una finestra di dialogo su cui l'utente tocca per creare un account o autenticarsi.
Una finestra di dialogo su cui l'utente tocca per creare un account o autenticarsi.

L'RP può richiedere la riautorizzazione automatica chiamando navigator.credentials.get() con autoReauthn: true.

const cred = await navigator.credentials.get({
  identity: {
    providers: [{
      configURL: "https://idp.example/fedcm.json",
      clientId: "1234",
    }],
    // NOTE: We are exploring different API options to expose this
    // functionality here:
    // https://github.com/fedidcg/FedCM/issues/429#issuecomment-1426358523
    // You should expect that, as a result of the origin trial, we'll
    // learn more from developers and browser vendors what works best here.
    autoReauthn: true, // default to false
  },
});

Con questa chiamata, la re-autenticazione automatica avviene alle seguenti condizioni:

  • FedCM è disponibile per l'utilizzo. Ad esempio, l'utente non ha disattivato FedCM a livello globale o per l'RP.
  • L'utente ha utilizzato un solo account FedCM per accedere al sito web su questo browser.
  • L'utente ha eseguito l'accesso all'IdP con quell'account.
  • La riconferma automatica non è avvenuta negli ultimi 10 minuti.

Quando le condizioni sopra indicate sono soddisfatte, viene avviato un tentativo di autenticazione automatica dell'utente non appena viene richiamato il FedCM navigator.credentials.get().

Un utente esegue la riconferma automatica di un RP utilizzando FedCM

Prova

Puoi provare la re-autenticazione automatica di FedCM localmente attivando un flag di Chrome chrome://flags#fedcm-auto-re-authn su Chrome 112 o versioni successive.

Ai fini del test, puoi reimpostare il periodo di riposo di 10 minuti rimuovendo i dati del browser.

  1. Vai a chrome://history.
  2. Nella cronologia delle ricerche, inserisci l'origine dell'RP.
  3. Fai clic sull'icona con tre puntini ⋮ e seleziona Rimuovi dalla cronologia.
  4. Riavvia Chrome.

Partecipare alla prova dell'origine

Puoi anche attivare la funzionalità sul tuo sito web partecipando alla prova delle origini di terze parti disponibile da Chrome 112 a Chrome 114.

Le prove dell'origine ti consentono di provare nuove funzionalità e fornire feedback sulla loro usabilità, praticità ed efficacia alla community degli standard web. Per ulteriori informazioni, consulta la Guida alle prove dell'origine per sviluppatori web. Per registrarti a questa o a un'altra prova dell'origine, visita la pagina di registrazione.

Per registrarti l'origine di terze parti prova e attiva la funzionalità su terze parti:

  1. Vai alla pagina di registrazione della prova dell'origine.
  2. Fai clic sul pulsante Registrati e compila il modulo per richiedere un token.
  3. Inserisci l'origine di pubblicazione come Origine web.
  4. Seleziona Corrispondenza di terze parti per inserire il token con JavaScript su altre origini.
  5. Fai clic su Invia.
  6. Incorpora il token emesso in una terza parte.

Per incorporare il token in una terza parte, aggiungi il seguente codice al file JavaScript libreria o SDK pubblicato dall'origine del sito web registrato.

const tokenElement = document.createElement('meta');
tokenElement.httpEquiv = 'origin-trial';
tokenElement.content = 'TOKEN_GOES_HERE';
document.head.appendChild(tokenElement);

Sostituisci TOKEN_GOES_HERE con il tuo token.

Coinvolgere e condividere feedback

Se hai feedback o riscontri problemi durante il test, puoi condividerli all'indirizzo crbug.com nel componente Blink>Identity>FedCM.

Foto di Alex Perz su Unsplash