API Federated Credential Management

Un'API web per una federazione delle identità incentrata sulla tutela della privacy.

Che cos'è FedCM?

FedCM (Federated Credential Management) è un approccio ai servizi di identità federati che tutela la privacy (come "Accedi con..."), in base al quale gli utenti possono accedere ai siti senza condividere le loro informazioni personali con il servizio di identità o il sito.

Stato implementazione

In futuro, intendiamo introdurre una serie di nuove funzionalità in base al feedback che abbiamo ricevuto dai provider di identità (IdP), dalle parti affidabili (RP) e dai fornitori di browser. Anche se ci auguriamo che i provider di identità adottino FedCM, tieni presente che FedCM è ancora un'API in fase di sviluppo attivo e che sono previste modifiche incompatibili con le versioni precedenti fino al quarto trimestre del 2023.

Per ridurre al minimo le sfide legate al deployment di modifiche incompatibili con le versioni precedenti, al momento proponiamo due suggerimenti per i provider di identità:

  • Iscriviti alla nostra newsletter, dove ti invieremo aggiornamenti man mano che l'API si evolve.
  • Incoraggiamo gli IdP a distribuire l'API FedCM tramite SDK JavaScript durante la maturazione dell'API e a scoraggiare gli RP da SDK self-hosting. Ciò garantisce che gli IdP possano apportare modifiche man mano che l'API si evolve, senza dover chiedere a tutte le parti dipendenti di eseguire nuovamente il deployment.

Perché abbiamo bisogno di FedCM?

Negli ultimi dieci anni, la federazione delle identità ha svolto un ruolo centrale nell'alzare il livello dell'autenticazione sul web in termini di affidabilità, facilità d'uso (ad esempio accesso Single Sign-On senza password) e sicurezza (ad esempio, migliore resistenza agli attacchi di phishing e credential stuffing) rispetto a nomi utente e password dei singoli siti.

Con la federazione delle identità, una parte soggetta a limitazioni si affida a un IdP (provider di identità) per fornire all'utente un account senza richiedere un nuovo nome utente e una nuova password.

Sfortunatamente, i meccanismi utilizzati dalla federazione delle identità (iframe, reindirizzamenti e cookie) vengono attivamente utilizzati in modo illecito per monitorare gli utenti sul web. Poiché lo user agent non è in grado di distinguere tra la federazione delle identità e il monitoraggio, le mitigazioni per i vari tipi di abuso rendono più difficile il deployment della federazione delle identità.

L'API FedCM (Federated Credential Management) fornisce un'astrazione specifica per il caso d'uso per i flussi di identità federate sul web, visualizzando una finestra di dialogo mediata dal browser che consente agli utenti di scegliere gli account dagli IdP per accedere ai siti web.

FedCM è un percorso in più fasi per migliorare l'identità sul web e, nella sua prima fase, ci siamo concentrati sulla riduzione dell'impatto del ritiro graduale dei cookie di terze parti sull'identità federata (consulta la sezione della roadmap per ulteriori passaggi).

Un utente sta eseguendo l'accesso a una parte soggetta a limitazioni tramite FedCM

Quali saranno le conseguenze per te?

Grazie all'impegno della community e alla nostra ricerca, abbiamo scoperto che esistono alcune integrazioni correlate alla federazione delle identità che sono interessate dalla graduale eliminazione dei cookie di terze parti:

Il primo obiettivo di FedCM è ridurre l'impatto del ritiro graduale dei cookie di terze parti sulla federazione delle identità. Di seguito è riportato un elenco di aree interessate. Se ci sono altri casi d'uso non inclusi nell'elenco, ti invitiamo a coinvolgere e condividere il tuo feedback.

Chi dovrebbe utilizzare FedCM?

Ci aspettiamo che FedCM possa essere utile solo se si applicano tutte queste condizioni:

  1. Sei un provider di identità (IdP).
  2. Il tuo account risentirà dell'eliminazione graduale dei cookie di terze parti.
  3. Le tue parti soggette a limitazioni sono siti di terze parti. Se le tue parti soggette a limitazioni sono siti correlati in modo significativo, potresti ricevere risultati migliori con gli insiemi di siti web correlati.

Sei un IdP

FedCM richiede l'assistenza di un provider di identità. La parte richiedente non può usare FedCM in modo indipendente. Se sei un RP, puoi chiedere all'IdP di fornirti le istruzioni.

Hai un problema a causa della graduale eliminazione dei cookie di terze parti

Dovresti utilizzare FedCM solo se la tua integrazione attuale è interessata dall'eliminazione graduale dei cookie di terze parti.

Se non hai la certezza che la tua federazione delle identità continuerà a funzionare dopo il ritiro graduale dei cookie di terze parti di Chrome, puoi testare l'effetto su un sito web bloccando i cookie di terze parti su Chrome.

Se non ci sono effetti rilevabili sulla federazione delle identità senza cookie di terze parti, puoi continuare a utilizzare l'integrazione attuale senza FedCM.

Se non sai cosa controllare, leggi ulteriori informazioni sulle funzionalità note su cui è previsto l'eliminazione graduale.

Le tue parti soggette a limitazioni sono di terze parti

Se sei un provider di identità le cui parti soggette a limitazioni hanno una relazione proprietaria con l'IdP, prevediamo che gli insiemi di siti web correlati possano essere un'opzione migliore. Gli insiemi di siti web correlati (RWS) consentono a un'organizzazione di dichiarare relazioni tra siti, in modo che i browser consentano un accesso limitato ai cookie di terze parti per scopi specifici. In questo modo, i cookie di terze parti possono funzionare su insiemi di siti correlati in modo significativo, anche dopo la graduale eliminazione dei cookie di terze parti.

In che modo gli utenti interagiranno con FedCM?

Attualmente, l'obiettivo principale di FedCM è ridurre l'impatto dell'eliminazione graduale dei cookie di terze parti. Gli utenti possono attivare o disattivare FedCM nelle impostazioni utente di Chrome.

FedCM è progettato per essere indipendente dal protocollo e offre le seguenti funzionalità relative all'autenticazione.

Guarda la nostra demo per vedere come funziona.

Accedere a un componente attendibile

Un utente sta eseguendo l'accesso a una parte soggetta a limitazioni tramite FedCM

Quando l'utente viene indirizzato al sito web della parte affidabile, viene visualizzata una finestra di dialogo di accesso FedCM se l'utente ha eseguito l'accesso all'IdP.

Se l'utente non dispone di un account nella parte soggetta a limitazioni con l'IdP, viene visualizzata una finestra di dialogo di registrazione con un testo di divulgazione aggiuntivo, come i termini di servizio della parte soggetta a limitazioni e le norme sulla privacy, se disponibili.

L'utente può completare l'accesso toccando Continua come.... In caso di esito positivo, il browser memorizza il fatto che l'utente ha creato un account federato sulla parte soggetta a limitazioni con l'IdP.

Le parte soggetta a limitazioni dovrebbero funzionare sui browser che non supportano FedCM. Gli utenti dovrebbero essere in grado di utilizzare una procedura di accesso esistente non FedCM. Scopri di più su come funziona l'accesso nella FedCM.

Impostazione per attivare o disattivare FedCM

Gli utenti possono attivare o disattivare FedCM nelle impostazioni di Chrome su Android. Vai a Impostazioni > Impostazioni sito > Accesso di terze parti, poi modifica il pulsante di attivazione/disattivazione.

Attiva FedCM nelle Impostazioni di Chrome sui dispositivi mobili attivando l'opzione Accesso di terze parti

Possono fare la stessa cosa per Chrome su computer andando alla pagina chrome://settings/content/federatedIdentityApi.

Attiva FedCM nelle Impostazioni di Chrome sul computer attivando l'opzione Accesso di terze parti

Roadmap

Stiamo lavorando per far arrivare una serie di modifiche alla FedCM.

Sono già stati applicati diversi aggiornamenti in base al feedback. Inoltre, si prevede che continua a evolversi fino al quarto trimestre del 2023 per stabilizzarsi. Per maggiori dettagli, vedi Aggiornamenti.

  • Log delle modifiche: aggiornamenti dell'API Federated Credential Management.

Ci sono alcune cose che sappiamo che devono ancora essere fatte, inclusi i problemi che abbiamo sentito da IdP, RP e fornitori di browser. Crediamo di sapere come risolvere questi problemi:

  • Supporto per iframe multiorigine: gli IdP possono chiamare FedCM da un iframe multiorigine (aggiornamento).
  • Pulsante personalizzato: gli IdP possono mostrare l'identità di un utente di ritorno sul pulsante di accesso dall'interno di un iframe multiorigine di proprietà dell'IdP (aggiornamento).
  • Endpoints metriche: fornisce metriche sulle prestazioni agli IdP.

Inoltre, stiamo esplorando attivamente problemi irrisolti, tra cui proposte specifiche che stiamo valutando o prototipando:

Infine, ci sono cose che crediamo ancora da fare, in base al feedback di Mozilla, Apple e dei recensori di TAG. Stiamo lavorando per valutare le migliori soluzioni per queste domande aperte:

  • Migliorare la comprensione degli utenti e l'intenzione di trovare una corrispondenza: come rilevato da Mozilla, vorremmo continuare a esplorare diverse formule e aree di superficie dell'esperienza utente, nonché i criteri di attivazione.
  • Attributi dell'identità e informativa selettiva: come segnalato dai nostri revisori di tag, vorremmo fornire un meccanismo per condividere in modo selettivo più o meno attributi relativi all'identità (come email, fasce di età, numeri di telefono e così via).
  • Aumento delle proprietà relative alla privacy: come suggerito da Mozilla qui, vorremmo continuare a esaminare meccanismi per offrire migliori garanzie in materia di privacy, come l'invisibilità dell'IdP e gli identificatori diretti.
  • Relazione con WebAuthn: come suggerito da Apple, siamo entusiasti di vedere i progressi relativi alle passkey e di lavorare per offrire un'esperienza coerente e coesa tra FedCM, Passwords, WebAuthn e WebOTP.
  • Stato accesso: come suggerito da Apple con l'API Login Status di Privacy CG, condividiamo l'intuito che lo stato di accesso dell'utente sia un'informazione utile che può aiutare i browser a prendere decisioni consapevoli e non vediamo l'ora di scoprire quali opportunità ne derivano. (aggiornamento)
  • Aziende ed istruzione: come è chiaro in FedID CG, ci sono ancora molti casi d'uso non ben gestiti da FedCM su cui vorremmo lavorare, come la disconnessione front-channel (la possibilità per un IdP di inviare un segnale alle RP per uscire) e il supporto per SAML.
  • Relazione con mDL/VC/ecc.: continua a lavorare per capire come si adattano a FedCM, ad esempio con l'API Mobile Document Request.

Utilizzo dell'API FedCM

Per utilizzare FedCM, è necessario un contesto sicuro (HTTPS o localhost) sia nell'IdP che nella RP in Chrome.

Per l'integrazione con FedCM devi creare un file noto, un file di configurazione ed endpoint per l'elenco di account, l'emissione delle asserzioni e, facoltativamente, i metadati del client. Da qui, FedCM espone le API JavaScript che le parti soggette a limitazioni possono utilizzare per accedere con l'IdP.

Per scoprire come utilizzare l'API FedCM, consulta la guida per gli sviluppatori di FedCM.

Interagisci e condividi feedback