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

Presentazione di alcuni aggiornamenti a FedCM, tra cui una nuova prova dell'origine per la riautenticazione automatica.

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 è un'API creata appositamente per consentire al browser di comprendere il contesto in cui l'RP e l'IdP si scambiano informazioni, informano l'utente circa la condivisione di informazioni e livelli di privilegi e prevenire possibili abusi.

Aggiornamenti

Ci sono alcuni aggiornamenti all'implementazione di FedCM di Chrome:

Per tutti gli aggiornamenti passati all'API, dai un'occhiata a Federated Credential Management (Gestione delle credenziali federate) Aggiornamenti delle API.

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

Riautenticazione automatica

Attualmente, dopo che un utente ha creato un account federato su una parte soggetta a limitazioni con un IdP tramite FedCM, la prossima volta che visiterà devono eseguire gli stessi passaggi nell'interfaccia utente. Vale a dire che devono confermare esplicitamente e autenticarsi di nuovo procedi con il flusso di accesso. Come uno dei principali l'obiettivo di FedCM è impedire il monitoraggio nascosto. Questa esperienza utente (UX) ha senso prima che l'utente ha creato l'account federato, ma diventa inutile e complicato dopo che l'utente l'abbiamo già esaminata una volta. Dopo che l'utente concede l'autorizzazione a consentire la comunicazione tra la parte soggetta a limitazioni e l'IdP,  non c'è alcun vantaggio in termini di privacy o sicurezza far rispettare un'altra conferma esplicita da parte dell'utente per qualcosa che ha già confermati in precedenza. Ecco perché Chrome sta introducendo una tecnologia UX che le parti soggette a limitazioni possono scegliere per gli utenti di ritorno.

Riautenticazione automatica FedCM ("auto-reauthn" in breve) riautentica gli utenti automaticamente (quando le parti soggette a limitazioni) quando tornano 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.

La parte soggetta a limitazioni può richiedere la riautenticazione 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 riautenticazione 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.
  • 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 nuova autenticazione automatica non è avvenuta negli ultimi 10 minuti.

Quando le condizioni di cui sopra sono soddisfatte, un tentativo di riautenticare automaticamente l'utente viene avviato non appena viene richiamato il metodo navigator.credentials.get() di FedCM.

Un utente esegue l'autenticazione automatica in una parte soggetta a limitazioni utilizzando FedCM

Prova

Puoi provare la riautenticazione automatica FedCM in locale attivando una piattaforma Chrome segnala chrome://flags#fedcm-auto-re-authn on Chrome 112 o versioni successive.

A scopo di test, puoi reimpostare il periodo senza notifiche di 10 minuti rimuovendo del browser.

  1. Vai a chrome://history.
  2. Nella casella della cronologia delle ricerche, inserisci l'origine della parte soggetta a limitazioni.
  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 unendoti al team di terze parti dell'origine disponibile da Chrome 112 fino 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.

Interagisci e condividi il 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 attivo Rimuovi schermo