FedCM: un'API di federazione delle identità che tutela la privacy

In questa pagina vengono illustrati i vantaggi di FedCM, chi dovrebbe prendere in considerazione l'implementazione di FedCM e come gli utenti interagiscono con FedCM.

Federated Credential Management (FedCM) è un approccio incentrato sulla privacy e di facile utilizzo per i servizi di identità federata (come Accedi con il provider di identità) che non si basa su cookie di terze parti o reindirizzamenti di navigazione.

Con FedCM, l'utente ha a disposizione un nuovo modo per eseguire l'autenticazione con un provider di identità di terze parti su un sito web.

Che cos'è la federazione delle identità

La federazione delle identità delega l'autenticazione o l'autorizzazione di una persona (utente o entità) a un provider di identità (IdP) esterno attendibile. L'IdP consente quindi alla persona di accedere a un sito web della parte autorizzata (RP). Con la federazione delle identità, una RP si affida a un IdP per fornire all'utente un account senza richiedere un nuovo nome utente e una nuova password.

Con le soluzioni di identità federata, l'utente non deve creare un altro set di credenziali per ogni RP. Ciò migliora l'esperienza utente, riduce le possibilità di phishing e aiuta la RP ad acquisire informazioni utente verificate da provider di identità attendibili.

Soluzioni convenzionali e cookie di terze parti

I meccanismi di federazione delle identità convenzionali si basano su iframe, reindirizzamenti o cookie di terze parti, il che solleva problemi di privacy. Queste soluzioni possono essere sfruttate per monitorare gli utenti sul web e i browser non sono in grado di distinguere tra servizi di identità legittimi e sorveglianza indesiderata.

Tenendo conto del problema della privacy, i principali browser stanno limitando i cookie di terze parti. Ciò potrebbe influire su alcune funzionalità. Grazie all'impegno della community e alle nostre ricerche, abbiamo scoperto che alcune integrazioni correlate alla federazione delle identità sono interessate dalle limitazioni dei cookie di terze parti.

Federazione delle identità con FedCM

FedCM è indipendente dal protocollo: può essere implementato come soluzione autonoma o come livello aggiuntivo di cui possono usufruire diversi protocolli. Ad esempio, un server OAuth funzionale può trarre vantaggio dall'esperienza di accesso con un solo tocco mediata dal browser e dall'interfaccia utente intuitiva di FedCM implementando gli endpoint FedCM e quindi scambiando il codice di autorizzazione restituito nella risposta di FedCM con un token di accesso OAuth.

Perché abbiamo bisogno di FedCM?

Rispetto alle soluzioni convenzionali, offre molteplici vantaggi per l'ecosistema web, progettati pensando agli sviluppatori di utenti, RP e IdP.

Supporto per soluzioni di identità senza cookie di terze parti

FedCM può contribuire a ridurre la dipendenza dai cookie di terze parti, che vengono spesso utilizzati per monitorare gli utenti sul web. L'API offre un'esperienza di accesso personalizzata anche quando i cookie di terze parti non sono disponibili (ad esempio, in modalità di navigazione in incognito).

FedCM è integrato anche con altre API Privacy Sandbox. Ad esempio, l' API Storage Access utilizza l'autenticazione FedCM come indicatore di attendibilità. Questa integrazione è utile per i siti web che si basano sia su FedCM per l'autenticazione sia sull'API Storage Access per consentire agli iframe cross-origin di accedere allo spazio di archiviazione necessario.

Esperienza utente migliorata

FedCM introduce una finestra di dialogo dell'interfaccia utente mediata dal browser per una procedura di accesso con un solo tocco semplificata. L'API risolve anche il problema delle pagine di accesso disordinate, a volte chiamato il problema NASCAR.

Esempio del problema di NASCAR: un sito web con un'interfaccia utente disordinata causata da una selezione di sette diverse opzioni di accesso.
Esempio del problema NASCAR: un sito web con un'interfaccia utente disordinata causata da una selezione di IdP troppo ampia.

Invece di un numero eccessivo di pulsanti di accesso social, FedCM fornisce un'interfaccia più semplice e di facile utilizzo.

Sicurezza

L'approccio di identità federata consente agli utenti di utilizzare account attendibili gestiti dagli IdP. Con questo approccio, gli utenti non devono aggiungere le credenziali a ogni sito. Ciò riduce la superficie per gli attacchi di phishing. Inoltre, anziché implementare misure di sicurezza solide, le RP possono fare affidamento sull'esperienza degli IdP specializzati nella gestione sicura delle identità.

FedCM mira a rendere il flusso di identità federata ancora più comodo per gli utenti, incoraggiandoli a preferirlo a flussi di identità meno sicuri.

Esperienza personalizzata per un maggior numero di utenti

FedCM riduce l'attrito dell'esperienza utente durante il flusso di registrazione dell'account. I case study del Servizio di identità Google mostrano che gli utenti preferiscono creare account con il flusso One Tap di FedCM rispetto alle opzioni di accesso in più passaggi.

Con FedCM, un maggior numero di IdP può offrire ai propri utenti un'esperienza di accesso con un solo tocco. Con un maggior numero di IdP che offrono un flusso di identità con un solo tocco, gli utenti possono scegliere tra una selezione più ampia di IdP sulle RP. FedCM fornisce un meccanismo di selezione dell'IdP migliorato presentando agli utenti gli account più pertinenti.

Con tassi di registrazione più elevati, le RP possono offrire un'esperienza personalizzata a un maggior numero di utenti.

Supporto per diversi provider di identità

L'interfaccia utente semplificata di FedCM mira a presentare agli utenti un elenco personalizzato degli IdP pertinenti. Con il meccanismo di selezione dell'IdP di FedCM, la scelta degli IdP della RP non è più limitata dalle dimensioni della base utenti dell'IdP. Ad esempio, una parte degli utenti potrebbe avere un account solo con small-idp.example e non con bigger-idp.example.

Con la funzionalità Multi-IdP, rp.example può supportare sia small-idp.example sia bigger-idp.example senza ingombrare l'interfaccia utente. Questo è vantaggioso per tutte le parti:

  • Gli utenti possono scegliere l'IdP che preferiscono, indipendentemente dalle dimensioni.
  • Le RP raggiungono un maggior numero di utenti grazie al supporto di diversi IdP.
  • Gli IdP con una base utenti più piccola sono disponibili su un maggior numero di RP.

Chi dovrebbe utilizzare FedCM?

Prevediamo che FedCM ti sarà utile solo se si verificano le seguenti condizioni:

  • Sei un provider di identità (IdP) con RP di terze parti.
  • Hai una tua soluzione di identità e più domini che si basano su di essa.
  • Il tuo obiettivo è supportare i flussi di identità federata anche per gli utenti che scelgono di navigare senza cookie di terze parti.

Sei un IdP

FedCM richiede il supporto di un provider di identità. Una parte autorizzata non può utilizzare FedCM in modo indipendente. Se sei una RP, puoi chiedere al tuo IdP di fornirti le istruzioni.

Più RP

Se le tue RP sono di terze parti o se hai più di quattro RP che utilizzano la tua soluzione di identità, FedCM è l'API consigliata per l'identità federata.

Il tuo obiettivo è supportare il flusso di federazione delle identità senza cookie

FedCM supporta i flussi di identità federata essenziali anche per gli utenti che navigano senza cookie di terze parti. Con FedCM, gli utenti possono comunque registrarsi, accedere e uscire con i propri account federati sulle RP.

Inoltre, FedCM funge da indicatore di attendibilità per l'API Storage Access, eliminando l'attrito per le richieste di accesso allo spazio di archiviazione avviate dall'IdP.

Interazione utente con FedCM

FedCM è progettato per essere indipendente dal protocollo di autenticazione e offre all'utente un nuovo flusso per l'autenticazione a una RP con un IdP di terze parti. Prova FedCM con la nostra demo.

Accedere a una parte autorizzata

Gli utenti possono scegliere un account da un insieme di IdP supportati dalla RP. Se l'utente ha eseguito l'accesso con più IdP, gli verrà chiesto di accedere alla RP utilizzando uno di questi.

Gli account dell'utente vengono visualizzati nel seguente ordine:

  • Vengono visualizzati per primi gli account a cui è stato eseguito l'accesso sul dispositivo dell'utente, con gli account a cui è stato eseguito l'accesso più di recente per primi.
  • Vengono visualizzati gli account a cui l'utente ha eseguito l'accesso sulla RP in base all'IdP. Le informazioni sugli account a cui è stato eseguito l'accesso vengono estratte dal approved_clients valore della proprietà dell'endpoint dell'account.
  • Vengono visualizzati per ultimi gli account che non sono stati utilizzati in precedenza sulla RP.

Se sono presenti più account in uno di questi livelli di priorità, questi account vengono ordinati in base all'ordine degli IdP forniti dalla RP nella chiamata get().

Modalità dell'interfaccia utente di FedCM

FedCM ha due modalità dell'interfaccia utente: Passiva e Attiva.

Modalità passiva. La modalità passiva non richiede l'interazione dell'utente per la visualizzazione del prompt FedCM. Quando l'utente arriva sul sito web della parte autorizzata (RP), viene visualizzata una finestra di dialogo di accesso FedCM quando viene chiamata navigator.credentials.get() se vengono soddisfatte le seguenti condizioni:

  • L'utente ha eseguito l'accesso ad almeno uno degli IdP supportati. Se lo stato dell'utente è disconnesso per tutti gli IdP disponibili, il prompt di accesso FedCM non viene visualizzato automaticamente.
  • L'impostazione di cooldown di FedCM non è impostata nel browser dell'utente.
  • L'utente non ha disattivato FedCM nelle impostazioni del browser. Scopri di più su come gli utenti possono disattivare FedCM.
In modalità passiva, l'utente esegue l'autenticazione in sequenza con diversi IdP: esegue l'accesso e la disconnessione con uno, quindi esegue l'autenticazione con il successivo.

Modalità attiva. In modalità attiva, è necessaria un'attivazione utente temporanea (ad esempio, un clic sul pulsante Accedi con…) per attivare un prompt FedCM.

Un utente accede a una RP utilizzando FedCM in modalità attiva.

L'utente può completare l'accesso toccando Continua come utente. Se l'operazione va a buon fine, il browser memorizza il fatto che l'utente ha creato un account federato sulla RP con l'IdP.

Se l'utente non ha un account sulla RP con l'IdP, viene visualizzata una finestra di dialogo di registrazione con un testo di divulgazione aggiuntivo, ad esempio i Termini di servizio e le Norme sulla privacy della RP.

Conformità alle leggi sulla privacy

L'utilizzo di FedCM, sia come IdP sia come RP, comporta l'archiviazione di informazioni sulle apparecchiature terminali di un utente o l'accesso alle informazioni già archiviate, pertanto è un'attività soggetta alle leggi sulla privacy nello Spazio economico europeo (SEE) e nel Regno Unito che in genere richiedono il consenso dell'utente. È tua responsabilità determinare se il tuo utilizzo di FedCM è strettamente necessario per fornire un servizio online esplicitamente richiesto dall'utente e, pertanto, esente dall'obbligo di consenso.

Vision

Stiamo sviluppando attivamente nuove funzionalità per risolvere le limitazioni attuali e offrire una migliore esperienza utente.

  • Stiamo esplorando formulazioni dell'esperienza utente più silenziose per garantire una procedura di autenticazione fluida, intuitiva e meno intrusiva per gli utenti.
  • Ci impegniamo a migliorare la privacy degli utenti. Prevediamo di passare al modello FedCM di nuova generazione orientato alla delega che mitiga il problema del monitoraggio dell'IdP. Con la nuova generazione, gli utenti possono accedere alle RP senza che l'IdP li segua.
  • FedCM mira a presentare agli utenti una selezione più ampia di IdP, in base alla scelta della RP. A questo scopo, stiamo lavorando alle API Multi-IdP e di registrazione dell'IdP.
  • Stiamo lavorando attivamente per integrare FedCM con altri metodi di autenticazione come le passkey con mezzi aggiuntivi come il completamento automatico per introdurre un'esperienza di autenticazione unificata.

Per maggiori dettagli, consulta la nostra roadmap.