Supportare la riautenticazione automatica in FedCM

Chrome supporta la riautenticazione automatica in FedCM

L'API Federated Credential Management (FedCM) è una API web per una federazione delle identità che tutela la privacy. Con la federazione delle identità, La parte soggetta a limitazioni si basa su un IdP (provider di identità) per fornire all'utente una senza richiedere un nuovo nome utente e una nuova password.

FedCM consente al browser di comprendere il contesto in cui RP e IdP lo scambio di informazioni. Informa l’utente delle informazioni e dei privilegi i livelli da condividere e previene gli abusi. FedCM è disponibile in Chrome dalla versione 108.

In Chrome 115, FedCM riceve il supporto per la riautenticazione automatica, che migliora l'esperienza utente e consente una riautenticazione più semplificata alla parte soggetta a limitazioni dopo il consenso iniziale.

Riautenticazione automatica

Attualmente, dopo che un utente ha creato un account federato su una parte soggetta a limitazioni con un IdP tramite l'API FedCM, la prossima volta visitare il sito web di cui devono eseguire gli stessi passaggi nell'interfaccia utente. Ciò significa che l'utente dovrà riconfermare esplicitamente e manualmente eseguire nuovamente l'autenticazione e procedere con il flusso di accesso.

Sebbene l'esperienza utente esplicita abbia senso prima che l'utente abbia creato il account federato per impedire il monitoraggio (che è uno dei principali obiettivi di FedCM), risulta inutilmente ingombrante dopo che l'utente lo ha già attraversato una volta: dopo l'utente concede l'autorizzazione per consentire la comunicazione tra la parte soggetta a limitazioni e l'IdP, l'applicazione forzata di un altro utente esplicito non comporta alcun vantaggio in termini di privacy o sicurezza conferma di qualcosa già confermato in precedenza. Ecco perché stiamo introducendo una UX più semplice che le parti soggette a limitazioni possono scegliere i loro utenti di ritorno.

FedCM riautenticazione automatica ("auto-reauthn" in breve) può consentire agli utenti di eseguire nuovamente l'autenticazione quando dopo l'autenticazione iniziale tramite FedCM. "La prima autenticazione" significa che l'utente crea un account o accede sito web toccando il pulsante "Continua come..." nella finestra di dialogo di accesso di FedCM per la prima volta sulla stessa istanza del browser.

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

Scegli un'opzione per la riautenticazione automatica

Anche se stiamo introducendo la riautenticazione automatica per fornire una migliore UX e allinearci alle specifica, l'esperienza utente predefinita sarà diversa senza alcun codice modifica. Quando è disponibile la riautenticazione automatica, il browser cambia il proprio comportamento a seconda nell'opzione selezionata nell'opzione mediation fornita dagli sviluppatori navigator.credentials.get().

const cred = await navigator.credentials.get({
  identity: {
    providers: [{
      configURL: "https://idp.example/fedcm.json",
      clientId: "1234",
    }],
  },
  mediation: 'optional', // this is the default
});

mediation è una proprietà nella sezione API, si comporta allo stesso come sembra per PasswordCredential e FederatedCredential ed è parzialmente supportato PublicKeyCredential . La proprietà accetta i quattro valori seguenti:

  • 'required': richiede sempre una mediazione per procedere, ad esempio facendo clic su "Continua" sulla UI. Scegli questa opzione se è previsto che i tuoi utenti concedino esplicitamente l'autorizzazione ogni volta che devono essere autenticati.
  • 'optional'(valore predefinito): se possibile, nuova autenticazione automatica richiede una mediazione in caso contrario. Me ti consigliamo di scegliere questa opzione nella pagina di accesso.
  • 'silent': se possibile, la nuova autenticazione automatica ha esito negativo automaticamente senza richiedere la mediazione, in caso contrario. Ti consigliamo di scegliere questa opzione nelle pagine diverse da la pagina di accesso dedicata, ma in cui vuoi mantenere gli utenti connessi, ad esempio, la pagina di un articolo su un sito web che si occupa di spedizioni o la pagina di un articolo sito web.
  • 'conditional': utilizzata per WebAuthn e al momento non disponibile per FedCM.

In questa chiamata, la nuova autenticazione automatica viene eseguita alle seguenti condizioni:

  • Puoi usare FedCM. Ad esempio, l'utente non ha disattivato FedCM. a livello globale o per la parte soggetta a limitazioni nelle impostazioni.
  • L'utente ha utilizzato un solo account con l'API FedCM per accedere al sito web su questo del browser.
  • L'utente ha eseguito l'accesso all'IdP con quell'account.
  • La nuova autenticazione automatica non è avvenuta negli ultimi 10 minuti.
  • La parte soggetta a limitazioni non ha navigator.credentials.preventSilentAccess() in seguito l'accesso precedente.

Quando le condizioni precedenti sono soddisfatte, viene eseguito un tentativo di riautenticazione automatica l'utente viene avviato non appena viene richiamato FedCM navigator.credentials.get().

Riautenticazione automatica dell'utente tramite FedCM.

Applicare la mediazione con preventSilentAccess()

La riautenticazione automatica degli utenti subito dopo l'uscita non costituisce un vantaggio un'esperienza utente molto buona. Ecco perché FedCM ha un periodo di silenzio di 10 minuti dopo una nuova autenticazione automatica per evitare questo comportamento. Ciò significa che la riautenticazione automatica al massimo una volta ogni 10 minuti, a meno che l'utente non esegua nuovamente l'accesso entro 10 minuti. La parte soggetta a limitazioni deve chiamare navigator.credentials.preventSilentAccess() per richiedere esplicitamente al browser di disattivare la nuova autenticazione automatica quando un utente esce la parte soggetta a limitazioni in modo esplicito, ad esempio, facendo clic su un pulsante di disconnessione.

function signout() {
  navigator.credentials.preventSilentAccess();
  location.href = '/signout';
}

Gli utenti possono disattivare la riautenticazione automatica nelle impostazioni

Gli utenti possono disattivare la riautenticazione automatica dal menu Impostazioni:

  • Su Chrome da computer, vai a chrome://password-manager/settings > Accedi automaticamente.
  • Su Chrome Android, apri Impostazioni > Gestore delle password > Tocca un ingranaggio nell'angolo in alto a destra > Accesso automatico.

Disattivando l'opzione, l'utente può disattivare tutti i comportamenti di autenticazione automatica in sinergia. Questa impostazione viene memorizzata e sincronizzata su tutti i dispositivi, se l'utente: eseguito l'accesso a un Account Google sull'istanza di Chrome e la sincronizzazione in un bucket con il controllo delle versioni attivo.

Condividi feedback

Se stai testando FedCM, puoi condividere il tuo feedback o qualsiasi problema riscontrato su crbug.com nel componente "Blink>Identity>FedCM".

Foto di Noah Samuel Franz su Unsplash