Un'API web per la federazione delle identità che tutela la privacy.
Che cos'è FedCM?
FedCM (Federated Credential Management) è un approccio incentrato sulla tutela della privacy per i servizi di identità federata (come "Accedi con…") che non si basa su cookie di terze parti o reindirizzamenti di navigazione.
Stato dell'implementazione
- Stato della piattaforma Chrome
- FedCM è stata fornita con Chrome 108.
- La proposta FedCM è aperta alla discussione pubblica.
- FedCM non è ancora supportato in altri browser.
- Mozilla sta implementando un prototipo per Firefox e Apple ha espresso supporto generale e interesse a collaborare alla proposta FedCM.
In futuro, prevediamo di introdurre una serie di nuove funzionalità in base al feedback ricevuto da provider di identità (IdP), parti attendibili (RP) e fornitori di browser. Ci auguriamo che gli identity provider adottino FedCM, ma tieni presente che si tratta ancora di un'API in fase di sviluppo attivo.
Per ridurre al minimo le difficoltà di implementazione delle modifiche non compatibili con le versioni precedenti, abbiamo due consigli per i provider di identità:
- Iscriviti alla nostra newsletter, tramite la quale ti invieremo aggiornamenti man mano che l'API si evolve.
- Invitiamo le IdP a distribuire l'API FedCM utilizzando gli SDK JavaScript durante l'evoluzione dell'API e a scoraggiare le RP dall'hosting autonomo degli SDK. In questo modo, gli IdP potranno apportare modifiche man mano che l'API si evolve, senza dover chiedere a tutte le parti interessate di eseguire nuovamente il deployment.
Perché abbiamo bisogno di FedCM?
Negli ultimi dieci anni, la federazione delle identità ha svolto un ruolo centrale nell'innalzare il livello di autenticazione sul web, in termini di affidabilità, facilità d'uso (ad esempio, accesso Single Sign-On senza password) e sicurezza (ad esempio, maggiore resistenza agli attacchi di phishing e di inserimento di credenziali) rispetto ai nomi utente e alle password per sito.
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.
Purtroppo, i meccanismi su cui si basa la federazione delle identità (iframe, reindirizzamenti e cookie) sono oggetto di attività illecite per monitorare gli utenti sul web. Poiché l'agente utente non è in grado di distinguere tra federazione delle identità e monitoraggio, le mitigazioni per i vari tipi di abuso rendono più difficile il deployment della federazione delle identità.
L'API Federated Credential Management (FedCM) fornisce un'astrazione specifica per i casi d'uso per i flussi di identità federate sul web, esponendo una finestra di dialogo mediata dal browser che consente agli utenti di scegliere gli account delle IdP per accedere ai siti web.
FedCM è un percorso in più passaggi per migliorare l'identità sul web. Nel suo primo passaggio, ci concentreremo sulla riduzione dell'impatto delle limitazioni relative ai cookie di terze parti sulla piattaforma di identità federata (consulta la sezione Roadmap per alcuni passaggi ulteriori).
Quali aspetti prevediamo che saranno interessati?
Grazie all'impegno della community e alla nostra ricerca, abbiamo appreso che alcune integrazioni relative alla federazione dell'identità sono interessate dalle limitazioni relative ai cookie di terze parti:
- Accesso al canale front-channel OpenID Connect
- Gestione delle sessioni OpenID Connect
- Rinnovo del token di sfondo basato su iframe
- Widget di accesso basati su iframe
Il primo obiettivo di FedCM è ridurre l'impatto delle restrizioni relative ai cookie di terze parti sulla federazione dell'identità e queste sono le aree che prevediamo essere interessate. Se esistono altri casi d'uso non elencati, puoi coinvolgerti e condividere feedback.
FedCM come indicatore di attendibilità per altre API
Oltre a gestire l'identità federata, FedCM funge anche da indicatore di attendibilità per altre API Privacy Sandbox.
A partire da Chrome 131, l'API Accesso allo spazio di archiviazione (SAA) utilizza FedCM come indicatore di attendibilità. Questa integrazione è utile per i siti web che si basano sia su FedCM per l'autenticazione sia sull'ASA per consentire agli iframe cross-origin di accedere allo spazio di archiviazione necessario.
Quando un utente si autentica con FedCM, con l'attivazione dell'RP, i contenuti dell'IdP incorporati sul sito web dell'RP possono chiamare il metodo requestStorageAccess()
per ottenere automaticamente l'accesso allo spazio di archiviazione ai propri cookie di primo livello senza richiedere un'ulteriore richiesta all'utente. L'autorizzazione verrà concessa automaticamente solo se l'utente ha eseguito l'accesso con FedCM e lo stato di accesso di FedCM è attivo. Per ulteriori dettagli, consulta la documentazione dell'API Storage Access.
Chi dovrebbe utilizzare FedCM?
Ci aspettiamo che FedCM ti sia utile solo se si applicano tutte le seguenti condizioni:
- Sei un provider di identità (IdP).
- Le limitazioni relative ai cookie di terze parti ti riguardano.
- Le RP sono siti di terze parti. Se i tuoi RP sono siti correlati in modo significativo, potresti ottenere risultati migliori con i set di siti web correlati.
Sei un provider di identità
FedCM richiede il supporto di un provider di identità. Una terza parte attendibile non può utilizzare FedCM in modo indipendente. Se sei un RP, puoi chiedere al tuo provider di identità di fornirti le istruzioni.
Le limitazioni relative ai cookie di terze parti ti riguardano
Ti consigliamo di utilizzare FedCM solo se la tua integrazione attuale è interessata dalle limitazioni relative ai cookie di terze parti.
Se non sai con certezza se la federazione delle identità continuerà a funzionare quando i cookie di terze parti non saranno disponibili, puoi testare l'effetto su un sito web bloccando i cookie di terze parti su Chrome.
Se non è possibile rilevare alcun impatto sulla federazione delle identità senza i cookie di terze parti, puoi continuare a utilizzare l'integrazione attuale senza FedCM.
Se non sai cosa controllare, scopri di più sulle funzionalità note che dovrebbero essere interessate dalle limitazioni relative ai cookie di terze parti.
I tuoi RP sono di terze parti
Se sei un provider di identità i cui RP hanno una relazione proprietaria con l'IDP, riteniamo che i set di siti web correlati potrebbero essere un'opzione migliore. I set di siti web correlati (RWS) consentono a un'organizzazione di dichiarare le relazioni tra i 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 tra insiemi di siti correlati in modo significativo, anche se i cookie di terze parti sono altrimenti limitati.
In che modo gli utenti interagiranno con FedCM?
L'obiettivo principale di FedCM è mitigare l'impatto delle limitazioni relative ai cookie di terze parti. Gli utenti possono attivare o disattivare FedCM nelle impostazioni dell'utente di Chrome.
FedCM è progettato per essere indipendente dal protocollo e offre le seguenti funzionalità relative all'autenticazione.
Guarda la nostra demo per scoprire come funziona.
Accedere a una terza parte attendibile
Quando l'utente arriva sul sito web della terza parte attendibile (RP), viene visualizzata una finestra di dialogo di accesso FedCM se l'utente ha eseguito l'accesso all'IdP.
Se l'utente non ha un account presso il RP con l'IdP, viene visualizzata una finestra di dialogo di registrazione con un testo aggiuntivo, ad esempio i Termini di servizio del RP e le Norme sulla privacy, se forniti.
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 nell'RP con l'IDP.
Gli RP dovrebbero funzionare su 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 in FedCM.
Impostazioni per attivare o disattivare FedCM
Gli utenti possono attivare o disattivare FedCM nelle impostazioni di Chrome su Android. Vai a Impostazioni > Impostazioni dei siti > Accesso di terze parti, quindi modifica il pulsante di attivazione/disattivazione.
Possono fare lo stesso per Chrome su computer andando su
chrome://settings/content/federatedIdentityApi
.
Periodo di attesa del prompt
Se l'utente chiude manualmente l'interfaccia utente, viene aggiunta temporaneamente una voce all'interfaccia utente delle impostazioni e l'interfaccia utente non verrà visualizzata nello stesso sito web per un determinato periodo di tempo. L'interfaccia utente verrà riattivata al termine del periodo, ma la durata verrà estesa in modo esponenziale in caso di chiusure consecutive. Ad esempio, in Chrome:
Numero di chiusure consecutive | Periodo di tempo in cui il prompt FedCM viene soppresso |
---|---|
1 | Due ore |
2 | Un giorno |
3 | Una settimana |
4+ | Quattro settimane |
Altri browser potrebbero definire periodi di tempo di attesa diversi.
Gli utenti possono riattivare manualmente FedCM nell'RP andando alla pagina delle impostazioni o facendo clic sull'interfaccia utente di PageInfo (un'icona a forma di lucchetto accanto alla barra degli URL) e reimpostando l'autorizzazione.
Roadmap
Stiamo lavorando per implementare una serie di modifiche a FedCM. Per maggiori dettagli, consulta la sezione Aggiornamenti.
- Log delle modifiche: aggiornamenti dell'API Federated Credential Management.
Sappiamo che ci sono ancora alcune cose da fare, inclusi i problemi che abbiamo riscontrato con le IdP, le RP e i fornitori di browser. Riteniamo di sapere come risolvere questi problemi:
- Supporto di iframe cross-origin: gli IdP possono chiamare FedCM da un iframe cross-origin (aggiornamento).
- Pulsante personalizzato: gli IdP possono mostrare l'identità di un utente di ritorno sul pulsante di accesso da un iframe cross-origin di proprietà dell'IdP (aggiornamento).
- Endpoint delle metriche: fornisce le metriche sul rendimento alle IdP.
Inoltre, stiamo esaminando attivamente alcuni problemi irrisolti, tra cui proposte specifiche che stiamo valutando o di cui stiamo creando una prototipazione:
- CORS: stiamo dialogando con Apple e Mozilla per migliorare la specifica dei recuperi di FedCM.
- API con più IdP: stiamo esplorando modi per supportare più IdP in modo che coesistano in modo collaborativo nel selettore di account FedCM.
- API Stato accesso IdP: Mozilla ha identificato un problema di attacco di temporizzazione e stiamo studiando dei modi per consentire a un IdP di inviare in modo proattivo al browser lo stato di accesso dell'utente per mitigare il problema. (aggiornamento)
- Accedi all'API IdP: per supportare diversi scenari, quando un utente non ha eseguito l'accesso all'IdP, il browser fornisce un'interfaccia utente per l'accesso senza uscire dall'RP.
Infine, riteniamo che ci siano ancora delle cose da fare, in base ai feedback di Mozilla, Apple e dei revisori del TAG. Stiamo lavorando per valutare le migliori soluzioni per queste domande aperte:
- Miglioramento della comprensione e della corrispondenza all'intenzione dell'utente: come Mozilla ha osservato, vorremmo continuare a esplorare diverse formulazioni e aree di visualizzazione dell'esperienza utente, nonché i criteri di attivazione.
- Attributi di identità e divulgazione selettiva: come hanno notato i nostri revisori TAG, vorremmo fornire un meccanismo per condividere in modo selettivo più o meno attributi di identità (ad esempio email, fasce d'età, numeri di telefono e così via).
- Miglioramento delle proprietà della privacy: come suggerito da Mozilla nella sua posizione sugli standard, vorremmo continuare a esplorare meccanismi per offrire migliori garanzie di privacy, come la cecità dell'IdP e gli identificatori diretti.
- Relazione con WebAuthn: come suggerito da Apple, siamo entusiasti di vedere i progressi compiuti su passkey e di lavorare per offrire un'esperienza coerente e coesiva tra FedCM, password, WebAuthn e WebOTP.
- Stato di accesso: come suggerito da Apple con l'API Stato di accesso del Privacy CG, condividiamo l'intuizione che lo stato di accesso dell'utente sia un'informazione utile che può aiutare i browser a prendere decisioni consapevoli e siamo entusiasti di scoprire quali opportunità si presenteranno. (aggiornamento)
- Aziende e istruzione: come è chiaro nel gruppo di lavoro FedID, ci sono ancora molti casi d'uso che non sono ben supportati da FedCM e su cui vorremmo lavorare, come la disconnessione nel canale anteriore (la possibilità per un provider di identità di inviare un segnale agli RP per eseguire la disconnessione) e il supporto di SAML.
- Relazione con i documenti mobili/le conferme di pagamento/ecc.: continua a capire come questi elementi si inseriscono in FedCM, ad esempio con l'API di richiesta di documenti mobili.
Utilizzare l'API FedCM
Per utilizzare FedCM, devi avere un contesto sicuro (HTTPS o localhost) sia nell'IDP che nell'RP in Chrome.
Per l'integrazione con FedCM, devi creare un file noto, un file di configurazione e endpoint per l'elenco degli account, l'emissione di asserzioni e (facoltativamente) i metadati del cliente. Da qui, FedCM espone API JavaScript che gli RP possono utilizzare per accedere con l'IDP.
Per scoprire come utilizzare l'API FedCM, consulta la guida per gli sviluppatori di FedCM.
Coinvolgere e condividere feedback
- GitHub: leggi l'explainer, apri discussioni e segui la discussione.
- Assistenza per gli sviluppatori: fai domande e partecipa alle discussioni nel repository Privacy Sandbox Developer Support.
Conformità alle leggi ePrivacy
L'utilizzo di FedCM, in qualità di IdP o RP, comporta la memorizzazione di informazioni sull'apparecchiatura terminale di un utente o l'accesso alle informazioni già memorizzate al suo interno ed è quindi un'attività soggetta alle leggi sulla privacy elettronica 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 richiesto esplicitamente dall'utente ed è quindi esente dal requisito del consenso. Per ulteriori informazioni, ti invitiamo a leggere le nostre Domande frequenti sulla conformità relative alla privacy di Privacy Sandbox.