Esegui la migrazione a FedCM

Questa guida ti aiuta a comprendere le modifiche alla tua applicazione web introdotte dall'API Federated Credentials Management (FedCM).

Quando FedCM è abilitato, il browser mostra le richieste degli utenti e non vengono utilizzati cookie di terze parti.

Panoramica

Privacy Sandbox per il web e la rimozione da parte di Chrome dei cookie di terze parti dal web introducono modifiche significative ai servizi di identità Google e all'accesso degli utenti.

FedCM consente flussi di accesso più privati senza richiedere l'uso di cookie di terze parti. Il browser controlla le impostazioni degli utenti, mostra le richieste degli utenti e contatta un provider di identità come Google solo dopo aver dato il consenso esplicito dell'utente.

Per la maggior parte dei siti web, la migrazione avviene senza problemi tramite aggiornamenti compatibili con le versioni precedenti alla libreria JavaScript di Google Identity Services.

Aggiornamenti sulla funzionalità Accesso automatico

La versione beta di Federated Credential Management (FedCM) per i servizi di identità Google è stata lanciata ad agosto 2023. Molti sviluppatori hanno testato l'API e hanno fornito un feedback prezioso.

Una risposta che Google ha sentito dagli sviluppatori riguarda il requisito relativo ai gesti dell'utente nel flusso di accesso automatico di FedCM. Per una maggiore privacy, Chrome richiede agli utenti di riconfermare di voler accedere al sito web con un Account Google in ogni istanza di Chrome, anche se l'utente ha approvato il sito web prima dell'implementazione di FedCM. Questa riconferma viene eseguita con un solo clic della richiesta One Tap per dimostrare l'intenzione dell'utente di accedere. Questa modifica potrebbe causare un'interruzione iniziale dei tassi di conversione degli accessi automatici per alcuni siti web.

Di recente nella versione M121, Chrome ha apportato una modifica all'UX del flusso di accesso automatico di FedCM. La riconferma è necessaria solo quando i cookie di terze parti sono limitati. Ciò significa che:

  1. Prima che le limitazioni relative ai cookie di terze parti raggiungano il 100% nel 3° trimestre del 2024, l'accesso automatico FedCM non richiede una nuova conferma per gli utenti di ritorno. Se gli utenti riconfermano tramite l'interfaccia utente di FedCM, questa riconferma verrà conteggiata ai fini del requisito relativo ai gesti dell'utente per l'era post-3 PCD.

  2. L'accesso automatico FedCM controllerà lo stato della riconferma quando i cookie di terze parti vengono limitati manualmente dagli utenti oggi o per impostazione predefinita in Chrome in futuro.

Con questa modifica, consigliamo a tutti gli sviluppatori che dispongono dell'accesso automatico di eseguire la migrazione a FedCM il prima possibile, per ridurre le interruzioni dei tassi di conversione degli accessi automatici.

Per il flusso di accesso automatico, il codice JavaScript GIS non attiverà FedCM su una versione precedente di Chrome (prima della versione M121), anche se il tuo sito web sceglie di attivare FedCM.

Differenze nel percorso dell'utente

Le esperienze One Tap con FedCM e senza FedCM sono simili solo con differenze minime.

Nuovo utente per sessione singola

In FedCM, One Tap mostra il nome del dominio anziché il nome dell'applicazione.

Utilizzo di FedCM Senza FedCM
Nuovo utente di una sessione singola che utilizza FedCM Nuovo utente di una sessione singola senza FedCM

Utente di ritorno per una singola sessione (con accesso automatico disattivato)

In FedCM, One Tap mostra il nome del dominio anziché il nome dell'applicazione.

Utilizzo di FedCM Senza FedCM
Percorso dell'utente di ritorno di una singola sessione utilizzando FedCM (con accesso automatico disattivato) Percorso dell'utente di ritorno di una singola sessione senza FedCM (con accesso automatico disattivato)

Utente di ritorno per una singola sessione (con accesso automatico abilitato)

In FedCM, invece di fare clic sul pulsante Annulla, gli utenti possono fare clic sulla X per annullare l'accesso automatico entro 5 secondi.

Utilizzo di FedCM Senza FedCM
Percorso dell'utente di ritorno di una singola sessione utilizzando FedCM (con accesso automatico abilitato) Percorso dell'utente di ritorno di una singola sessione senza FedCM (con accesso automatico abilitato)

Più sessioni

In FedCM, One Tap mostra il nome del dominio anziché il nome dell'applicazione.

Utilizzo di FedCM Senza FedCM
Utente di più sessioni che utilizza FedCM Utente di più sessioni senza FedCM

Prima di iniziare

Verifica che le impostazioni e la versione del browser supportino l'API FedCM. Ti consigliamo di eseguire l'aggiornamento alla versione più recente.

  • L'API FedCM è disponibile in Chrome 117 o versioni successive.

  • L'impostazione Accesso di terze parti è attiva in Chrome.

  • Se la versione del browser Chrome è 119 o precedente, apri chrome://flags e attiva la funzionalità sperimentale FedCmWithoutThirdPartyCookies. Questo passaggio non è necessario con il browser Chrome versione 120 o successive.

Esegui la migrazione dell'app web

Segui questi passaggi per abilitare FedCM, valutare il potenziale impatto della migrazione e, se necessario, per apportare modifiche alla tua applicazione web esistente:

1. Aggiungi un flag booleano per attivare FedCM durante l'inizializzazione utilizzando:

2. Rimuovi l'uso dei metodi isDisplayMoment(), isDisplayed(), isNotDisplayed() e getNotDisplayedReason() nel codice.

Per migliorare la privacy degli utenti, il callback google.accounts.id.prompt non restituisce più alcuna notifica di visualizzazione del momento nell'oggetto PromptMomentNotication. Rimuovi qualsiasi codice che dipende dai metodi correlati al momento di visualizzazione. Sono i metodi isDisplayMoment(), isDisplayed(), isNotDisplayed() e getNotDisplayedReason().

3. Rimuovi l'uso del metodo getSkippedReason() nel codice.

Mentre il momento ignora, isSkippedMoment(), verrà comunque chiamato dal callback google.accounts.id.prompt nell'oggetto PromptMomentNotication, non viene fornito il motivo dettagliato. Rimuovi dal codice qualsiasi codice che dipende dal metodo getSkippedReason().

Tieni presente che la notifica del momento ignorato, isDismissedMoment(), e il metodo dettagliato del motivo correlato, getDismissedReason(), non vengono modificati quando FedCM è abilitato.

4. Rimuovi position attributi di stile da data-prompt_parent_id e intermediate_iframes.

Il browser controlla la dimensione e la posizione dei prompt degli utenti; le posizioni personalizzate per One Tap su computer non sono supportate.

5. Aggiorna il layout della pagina, se necessario.

Il browser controlla la dimensione e la posizione delle richieste degli utenti. A seconda del layout delle singole pagine, alcuni contenuti potrebbero essere sovrapposti in quanto le posizioni personalizzate per One Tap su computer non sono supportate in alcun modo, ad esempio gli attributo stile, data-prompt_parent_id, intermediate_iframes, iframe personalizzati e altri modi creativi.

Modifica il layout della pagina per migliorare l'esperienza utente quando le informazioni importanti sono oscurate. Non creare la tua UX intorno al prompt One Tap, anche se presupponi che sia nella posizione predefinita. Poiché l'API FedCM è mediata dal browser, diversi fornitori di browser potrebbero posizionare la posizione del prompt in modo leggermente diverso.

6. Aggiungi l'attributo allow="identity-credentials-get" al frame principale se la tua app web chiama l'API One Tap da iframe multiorigine.

Un iframe è considerato multiorigine se la sua origin non corrisponde esattamente all'origine principale. Ad esempio:

  • Domini diversi: https://example1.com e https://example2.com
  • Diversi domini di primo livello: https://example.uk e https://example.jp
  • Sottodomini: https://example.com e https://login.example.com

    Per migliorare la privacy degli utenti, quando l'API One Tap viene richiamata da iframe multiorigine, devi aggiungere l'attributo allow="identity-credentials-get" in ogni tag iframe del frame principale:

    <iframe src="https://your.cross-origin/onetap.page" allow="identity-credentials-get"></iframe>
    

    Se la tua app utilizza un iframe che contiene un altro iframe, devi assicurarti che l'attributo venga aggiunto a ogni iframe, inclusi tutti gli iframe secondari.

    Ad esempio, considera il seguente scenario:

  • Il documento principale (https://www.example.uk) contiene un iframe denominato "Iframe A", che incorpora una pagina (https://logins.example.com).

  • Questa pagina incorporata (https://logins.example.com) contiene anche un iframe denominato "Iframe B", che incorpora ulteriormente una pagina (https://onetap.example2.com) che ospita One Tap.

    Per garantire che One Tap possa essere visualizzato correttamente, l'attributo deve essere aggiunto ai tag iframe A e B.

    Preparati per le richieste relative al messaggio One Tap non visualizzato. Altri siti con origini diverse potrebbero incorporare le tue pagine che ospitano One Tap all'interno dei propri iframe. Potresti ricevere un numero maggiore di ticket di assistenza relativi a One Tap non mostrati agli utenti finali o ad altri proprietari di siti. Anche se gli aggiornamenti possono essere effettuati solo dai proprietari dei siti sulle loro pagine, puoi fare quanto segue per mitigare l'impatto:

  • Aggiorna la documentazione per gli sviluppatori per includere informazioni su come configurare correttamente l'iframe per chiamare il tuo sito. Puoi inserire un link a questa pagina nella documentazione.

  • Aggiorna la pagina delle domande frequenti dello sviluppatore, se applicabile.

  • Comunica al tuo team di assistenza questo cambiamento imminente e preparati in anticipo per la risposta alla richiesta.

  • Contatta in modo proattivo i partner, i clienti o i proprietari di siti interessati per una transizione fluida con FedCM.

7. Aggiungi queste istruzioni al tuo criterio di sicurezza del contenuto (CSP).

Questo passaggio è facoltativo, in quanto non tutti i siti web scelgono di definire un criterio CSP.

  • Se nel tuo sito web non viene utilizzato CSP, non sono necessarie modifiche.

  • Se il CSP funziona per l'attuale One Tap e non utilizzi connect-src, frame-src, script-src, style-src o default-src, non sono necessarie modifiche.

  • In caso contrario, segui questa guida per configurare il CSP. Senza la corretta configurazione del CSP, il One Tap di FedCM non verrebbe visualizzato sul sito.

8. Rimuovi il supporto di Accelerated Mobile Pages (AMP) per l'accesso.

Il supporto dell'accesso degli utenti per AMP è una funzionalità facoltativa di GIS che la tua app web potrebbe aver implementato. In questo caso,

Elimina tutti i riferimenti a:

  • amp-onetap-google elemento personalizzato.

  • <script async custom-element="amp-onetap-google" src="https://cdn.ampproject.org/v0/amp-onetap-google-0.1.js"></script>
    

    Valuta la possibilità di reindirizzare le richieste di accesso da AMP al flusso di accesso HTML del tuo sito web. Tieni presente che l'elemento Intermediate Iframe Support API correlato non è interessato.

Testare e verificare la migrazione

Dopo aver apportato le modifiche necessarie in base ai passaggi precedenti, puoi verificare che la migrazione sia riuscita.

  1. Verifica che il tuo browser supporti FedCM e di avere già una sessione per il tuo Account Google.

  2. Passa alle pagine One Tap nell'applicazione.

  3. Verifica che la richiesta One Tap venga visualizzata e sovrapponga in modo sicuro ai contenuti.

  4. Conferma che una credenziale corretta venga restituita all'endpoint o al metodo di callback quando accedi all'applicazione utilizzando One Tap.

  5. Se l'accesso automatico è attivato, verifica che l'annullamento funzioni e che le credenziali corrette vengano restituite al tuo endpoint o al tuo metodo di callback.

Periodo di attesa One Tap

Se fai clic su One Tap nell'angolo in alto a destra, il prompt si chiude ed entra nel periodo di attesa, che impedisce la visualizzazione temporanea della richiesta One Tap. In Chrome, se vuoi che la richiesta One Tap venga mostrata di nuovo prima del termine del periodo di attesa, puoi reimpostare lo stato di raffreddamento facendo clic sull'icona lucchetto nella barra degli indirizzi e facendo clic sul pulsante Reimposta autorizzazione.

Periodo senza notifiche di accesso automatico

Quando testi l'accesso automatico One Tap con FedCM, avviene un periodo di inattività di 10 minuti tra ogni tentativo di accesso automatico. Non è possibile reimpostare il periodo tranquillo. Devi attendere 10 minuti o utilizzare un Account Google diverso per i test se vuoi attivare di nuovo l'accesso automatico.

Risorse utili

Lo strumento di analisi Privacy Sandbox (PSAT) è un'estensione di Chrome DevTools con funzionalità specializzate per aiutare gli sviluppatori a gestire il ritiro dei cookie di terze parti e l'adozione di API alternative. La funzionalità analizza il tuo sito per individuare le funzionalità interessate e fornisce un elenco di modifiche consigliate.