Aggiornamenti dell'API Federated Credential Management

L'API Federated Credential Management è fornita in Chrome 108, ma si prevede che continui a evolversi. Non sono previste modifiche che provocano un errore.

A chi sono destinati questi aggiornamenti?

Questi aggiornamenti sono utili se:

  • Sei un IdP che utilizza l'API Federated Credential Management.
  • Sei un IdP o un RP e ti interessa estendere l'API per adattarlo al tuo caso d'uso, ad esempio se hai osservato o partecipato alle dibattiti sul repository FedID CG e vuoi comprendere le modifiche apportate all'API.
  • Sei un fornitore di browser e vuoi recuperare lo stato dell'implementazione dell'API.

Se non conosci questa API o non l'hai ancora provata, leggi l'introduzione all'API Federated Credential Management.

Log delle modifiche

Per restare al passo con le modifiche all'API FedCM, dai un'occhiata al nostro blog o alla newsletter.

Chrome 125 (aprile 2024)

Chrome 123 (febbraio 2024)

  • Aggiunto il supporto per l'API Domain Hint. L'API Domain Hint consente alle parti soggette a limitazioni di specificare una proprietà domainHint in una chiamata API FedCM in modo da mostrare solo gli account corrispondenti per l'utente.

Chrome 122 (gennaio 2024)

  • Aggiunto il supporto per l'API Disconnetti. L'API Disconnetti consente alle RP di disconnettere i propri utenti dall'account dell'IdP senza fare affidamento sui cookie di terze parti.
  • Il controllo /.well-known/web-identity ora viene ignorato quando la parte soggetta a limitazioni e l'IdP sono sullo stesso sito.
  • Ora le risorse secondarie possono impostare uno stato di accesso nello stesso sito.

Chrome 121 (dicembre 2023)

  • La condizione più lenta per l'attivazione della riautenticazione automatica FedCM:
    • La funzionalità di riautenticazione automatica in FedCM viene attivata solo quando l'utente ritorna. Ciò significa che l'utente deve accedere alla parte soggetta a limitazioni utilizzando FedCM una volta su ogni istanza del browser, prima che possa essere attivata la riautenticazione automatica. Questa condizione è stata inizialmente introdotta per ridurre il rischio che i tracker si spacciano per un provider di identità (IdP) e conducano con l'inganno il browser a eseguire una nuova autenticazione automatica di un utente a sua insaputa o senza il suo consenso. Tuttavia, questo design non può garantire il vantaggio della privacy se il tracker ha accesso a cookie di terze parti nel contesto della parte soggetta a limitazioni. FedCM fornisce solo un sottoinsieme delle funzionalità possibili tramite cookie di terze parti, quindi se il tracker ha già accesso a cookie di terze parti nel contesto della parte soggetta a limitazioni, l'accesso a FedCM non presenta ulteriori rischi per la privacy.
      Poiché esistono utilizzi legittimi dei cookie di terze parti e ridurre la condizione migliorerebbe la UX, questo comportamento sta cambiando rispetto a Chrome 121. Abbiamo deciso di allentare la limitazione della condizione per considerare un utente come di ritorno: se i cookie di terze parti sono disponibili per l'IdP nel contesto della parte soggetta a limitazioni, Chrome considera attendibile la dichiarazione dell'IdP sullo stato dell'account dell'utente specificato tramite l'elenco approved_clients e attivare la riautenticazione automatica, se applicabile. I cookie di terze parti possono essere disponibili tramite: impostazioni utente, criteri aziendali, euristica (Safari, Firefox, Chrome) e altre API delle piattaforme web (come l'API Storage Access). Tieni presente che, se in futuro l'IdP perderà l'accesso ai cookie di terze parti, se un utente non ha mai concesso esplicitamente l'autorizzazione nell'interfaccia utente di FedCM (ad esempio facendo clic sul pulsante Continua come), verrà comunque considerato come nuovo utente.
      Non sono richieste azioni da parte dello sviluppatore. Tieni presente che il flusso di riautenticazione automatica potrebbe essere attivato maggiormente con questa modifica se l'IdP ha accesso ai cookie di terze parti e afferma che l'utente ha creato un account nella parte soggetta a limitazioni in passato.

Chrome 120 (novembre 2023)

  • È stato aggiunto il supporto delle seguenti tre funzionalità in Chrome 120:
    • API Login Status: l'API Login Status è un meccanismo in cui un sito web, in particolare un IdP, informa il browser sullo stato di accesso dell'utente. Con questa API, il browser può ridurre le richieste non necessarie all'IdP e mitigare i potenziali attacchi temporali. L'API Login Status è un requisito per FedCM. Con questa modifica, il flag chrome://flags/#fedcm-without-third-party-cookies non è più necessario per attivare FedCM quando i cookie di terze parti sono bloccati.
    • API Error: l'API Error invia una notifica all'utente mostrando una UI del browser con le informazioni sull'errore fornite dall'IdP.
    • API Auto-Selected Flag: l'API Auto-Selected Flag indica se è stata acquisita un'autorizzazione utente esplicita toccando il pulsante Continua come con l'IdP e la parte soggetta a limitazioni, ogni volta che si verifica una nuova autenticazione automatica o si è verificata una mediazione esplicita. La condivisione avviene solo dopo che viene concessa l'autorizzazione dell'utente per le comunicazioni con IdP e RP.

Chrome 117 (settembre 2023)

Chrome 116 (agosto 2023)

  • Aggiunto il supporto per le seguenti tre funzionalità in Chrome 116:
    • API Login Hint: specifica un account utente preferito con cui accedere.
    • API User Info: recupera le informazioni dell'utente di ritorno in modo che il provider di identità (IdP) possa visualizzare un pulsante di accesso personalizzato all'interno di un iframe.
    • API RP Context: utilizza un titolo diverso da "Accedi" nella finestra di dialogo FedCM.
  • È disponibile l'API Origin Trial per l'IdP Sign-In Status. Scopri di più in merito negli aggiornamenti FedCM: API IdP Sign-In Status, Login Hint e altri.

Chrome 115 (giugno 2023)

  • È stato aggiunto il supporto della riautenticazione automatica, che consente agli utenti di eseguire nuovamente l'autenticazione quando tornano dopo l'autenticazione iniziale tramite FedCM. Questo migliora l'esperienza utente e consente una riautenticazione più semplificata della parte soggetta a limitazioni dopo il consenso iniziale. Scopri di più sulla riautenticazione automatica FedCM.

Chrome 110 (febbraio 2023)

  • Per l'endpoint di asserzione dell'ID, gli IdP devono controllare l'intestazione Origin (anziché l'intestazione Referer) per verificare se il valore corrisponde all'origine dell'ID client.
  • Ora è disponibile il supporto di iframe multiorigine per FedCM. L'incorporamento deve specificare Permissions-Policy identity-credentials-get per consentire l'API FedCM nell'iframe multiorigine incorporato. Puoi dare un'occhiata a un esempio dell'iframe multiorigine.
  • È stato aggiunto un nuovo flag di Chrome chrome://flags/#fedcm-without-third-party-cookies. Con questo flag puoi testare la funzionalità FedCM in Chrome bloccando i cookie di terze parti. Scopri di più nella documentazione di FedCM.

Chrome 108 (ottobre 2022)

  • Il "manifest di primo livello" è ora chiamato "file noto" nel documento. Non sono necessarie modifiche all'implementazione.
  • Il "manifest dell'IdP" ora si chiama "file di configurazione" nel documento. Non sono necessarie modifiche all'implementazione.
  • Il id_token_endpoint nel "file di configurazione" è rinominato id_assertion_endpoint.
  • Le richieste all'IdP ora includono un'intestazione Sec-Fetch-Dest: webidentity anziché un'intestazione Sec-FedCM-CSRF: ?1.

Chrome 105 (agosto 2022)

  • Sono state aggiunte importanti informazioni di sicurezza al documento. Il provider di identità (IdP) deve verificare se l'intestazione Referer corrisponde all'origine registrata nella parte soggetta a limitazioni in anticipo sull'endpoint del token ID.
  • Il file manifest di primo livello è rinominato da /.well-known/fedcm.json a /.well-known/web-identity e l'URL specificato in provider_urls deve includere il nome del file.
  • I metodi login(), logout() e revoke() sulle istanze FederatedCredential non sono più disponibili.
  • L'API Federated Credential Management ora utilizza un nuovo tipo IdentityCredential anziché FederatedCredential. Questa può essere utilizzata per il rilevamento delle caratteristiche, ma per il resto è un cambiamento ampiamente invisibile.
  • Sposta la funzionalità di accesso da una combinazione di navigator.credentials.get() e FederatedCredential.prototype.login() a navigator.credentials.get().
  • L'endpoint di revoca nel file manifest non è più attivo.
  • Utilizza un campo identity anziché un campo federated per le chiamate navigator.credentials.get().
  • url è ora configURL e deve essere l'URL completo del file JSON manifest anziché il percorso di una chiamata navigator.credentials.get().
  • nonce è ora un parametro facoltativo per navigator.credentials.get().
  • hint non è più disponibile come opzione per navigator.credentials.get().
const credential = await navigator.credentials.get({
  identity: {
    providers: [{
      configURL: 'https://idp.example/anything.json',
      clientId: '********',
      nonce: '******'
    }]
  }
});
const { token } = credential;

Chrome 104 (giugno 2022)

Chrome 103 (maggio 2022)

  • Supporta ambienti desktop.
  • Supporta le impostazioni per parte soggetta a limitazioni su computer.
  • L'endpoint dei metadati client ora è facoltativo. In questo endpoint, anche l'URL delle norme sulla privacy è facoltativo.
  • È stato aggiunto un avviso sull'utilizzo di CSP connect-src nel documento.

Risorse