Aggiornamenti di FedCM: API Multi IdP su computer, API Button Mode e Continuation Bundle per Chrome su prove dell'origine Android

Natalia Markoborodova
Natalia Markoborodova

A partire da Chrome 128, l'API Multi-IdP sta avviando una prova dell'origine su computer, mentre l'API Button Mode e il pacchetto Continuation stanno avviando una prova dell'origine su Android. Con la funzionalità multi-IdP, gli sviluppatori possono specificare un array di più provider di identità supportati in una singola chiamata get(). L'API Button Mode aggiunge una nuova UI. Con l'API Button Mode, i provider di identità possono utilizzare l'API FedCM anche se i loro utenti non hanno sessioni IdP attive durante la chiamata API. Il bundle Continuation è composto dall'API Continuation e dall'API Parameters, che abilitano un'esperienza simile a un flusso di autorizzazione OAuth che prevede una finestra di dialogo di autorizzazione fornita dall'IdP. Il bundle include anche altre modifiche, ad esempio l'API Fields, la funzionalità configURL multipla e le etichette dell'account personalizzate.

Prova dell'origine: API Multi IdP

Questa funzionalità consente agli utenti di scegliere un account da un insieme di IdP supportati e le parti soggette a limitazioni traggono vantaggio da tariffe di accesso e registrazione più elevate. Se l'utente ha eseguito l'accesso con più IdP, gli verrà chiesto di accedere alla parte soggetta a limitazioni utilizzando uno degli IdP.

Un utente sta accedendo con IdP diversi utilizzando l'API multi-IdP.

La priorità degli IdP viene stabilita in base agli account esistenti dell'utente e ai timestamp associati.

  • Se l'utente ha già eseguito l'accesso alla parte soggetta a limitazioni con un IdP specifico (ovvero ha un "account di ritorno"), questi IdP verranno elencati per primi.
  • Negli account di ritorno, gli IdP vengono ulteriormente ordinati in base al timestamp dell'utilizzo più recente e quelli utilizzati più di recente vengono visualizzati in cima all'elenco. In alcuni casi, Chrome potrebbe non avere dati sul timestamp relativi a un account di ritorno. Probabilmente, l'utente ha eseguito l'accesso prima dell'implementazione dei log timestamp in FedCM. Questi account sono elencati sotto quelli dotati di timestamp.
  • Se l'utente non ha account di ritorno con alcun IdP, l'ordine fornito dalla parte soggetta a limitazioni viene rispettato.

FedCM consente la riautenticazione automatica se lo sviluppatore la richiede e se è presente un solo account di ritorno. Nel caso di più IdP, se esistono account di ritorno per più IdP, l'utente non verrà riautenticato automaticamente. Avere un account di ritorno è un requisito fondamentale per la riautenticazione automatica. Il browser avvierà una riautenticazione automatica solo quando ha riconosciuto esplicitamente l'account. Ciò significa che l'utente deve aver utilizzato in precedenza FedCM con questo account specifico in questa parte soggetta a limitazioni.

Se lo stato di accesso dell'utente è impostato su disconnesso per un IdP, chiamando il FedCM non recupera gli account per quell'IdP. Allo stesso modo, se lo stato dell'utente è disconnesso per tutti gli IdP disponibili, la richiesta di accesso a FedCM non viene visualizzata automaticamente nella modalità widget.

Se è stato eseguito l'accesso allo stato di accesso salvato nel browser per un IdP, ma dalla richiesta di recupero non è stato restituito alcun account per questo IdP (ad esempio, se la sessione utente è scaduta, ma lo stato di accesso non è stato ancora aggiornato dal browser), per l'IdP viene visualizzata una UI non corrispondente, che suggerisce all'utente di accedere con l'IdP che non corrisponde.

Quando lo stato dell'accesso dell'utente è connesso, ma la sessione è scaduta, viene visualizzata l'interfaccia utente che non corrisponde.

Per ulteriori informazioni sullo stato dell'accesso, consulta la documentazione. Per ulteriori dettagli sull'implementazione, consulta la guida per gli sviluppatori.

Prova dell'origine: API Multi IdP

Puoi provare l'API Multi IdP come utente nella RP demo o come sviluppatore con Chrome 128 o versioni successive.

Fai una prova come utente

Fai una prova come utente. Accertati che:

  • Chrome non è configurato per bloccare le richieste di accesso di terze parti nella pagina chrome://settings/content/federatedIdentityApi.
  • Hai eseguito l'accesso a più IdP demo. Segui le istruzioni nella pagina demo.

Tieni presente che per provare più IdP su siti la cui origine non è registrata per la prova dell'origine, devi abilitare il flag della funzionalità in chrome://flags/#fedcm-multi-idp.

Provalo come sviluppatore

Se un provider di accesso ha un SDK JavaScript incorporato nella parte soggetta a limitazioni (opzione consigliata), la chiamata navigator.credentials.get() per abilitare più IdP può essere implementata dal provider e gli sviluppatori della parte soggetta a limitazioni non devono modificare il codice. In caso contrario, la parte soggetta a limitazioni deve chiamare l'API FedCM autonomamente.

Per testare più IdP su una parte soggetta a limitazioni, specifica l'array di provider supportati come segue:

try {
  const cred = await navigator.credentials.get({
    identity: {
      providers: [
        {
          configUrl: "https://idp1.example/foo.json", // first IdP
          clientId: "123",
        },
        {
          configUrl: "https://idp2.example/bar.json", // second IdP
          clientId: "456",
        }
      ]
    }
  });

  const token = cred.token;
  const currentConfigFileUrl = cred.configURL;

  if (cred.configURL === 'https://idp1.example/foo.json')  {
    // handle the token for idp1.example
  } else if (cred.configURL === 'https://idp2.example/bar.json') {
    // handle the token for idp2.example
  }
} catch (error) {
  console.error("Error during credential retrieval:", error);
}

L'attributo configURL all'interno dell'oggetto risultante archivia l'URL del file di configurazione per l'IdP con cui l'utente ha eseguito l'autenticazione. La parte soggetta a limitazioni può determinare come gestire il token risultante in quanto differisce a seconda dell'IdP.

Partecipare alla prova dell'origine

Le prove dell'origine consentono di provare nuove funzionalità e fornire feedback sulla loro usabilità, pratica ed efficacia. Per ulteriori informazioni, consulta la guida introduttiva alle prove dell'origine.

Puoi provare la funzionalità Multi IdP registrandoti alle prove dell'origine a partire da Chrome 128.

Per provare più IdP, una parte soggetta a limitazioni può registrare la propria origine ed eseguire una prova dell'origine proprietaria. L'IdP può anche registrarsi per una prova dell'origine di terze parti e mettere a disposizione la funzionalità multi-IdP per tutte le sue parti soggette a limitazioni utilizzando gli SDK JavaScript.

Passaggi per partecipare alla prova dell'origine:

  1. Vai alla pagina di registrazione della prova dell'origine dell'API Multi IdP.
  2. Fai clic sul pulsante Registrati e compila il modulo per richiedere un token.
  3. Per registrarti a una prova dell'origine proprietaria, inserisci l'origine della parte soggetta a limitazioni nel campo "Origine web" . Per una prova dell'origine di terze parti, inserisci l'origine dell'SDK JavaScript dell'IdP e seleziona "Corrispondenza di terze parti" .
  4. Fai clic su Invia.
  5. Fornisci il token emesso nella pagina della parte soggetta a limitazioni:
    • Per i partecipanti alla prova dell'origine proprietaria:
      • Come meta tag in <head>: <meta http-equiv="origin-trial" content="TOKEN_GOES_HERE">
      • Come intestazione HTTP: Origin-Trial: TOKEN_GOES_HERE
    • Per i partecipanti alla prova dell'origine di terze parti:
      • Fornendo un token in modo programmatico.

API Button Mode per Chrome su Android

A partire dalla versione 128 di Chrome, la prova dell'origine dell'API Button Mode inizierà su Chrome su Android, al termine della prova iniziale su computer. Con l'API Button Mode, i provider di identità possono utilizzare l'API FedCM anche se i loro utenti sono disconnessi dall'IdP durante la chiamata API. Il flusso di accesso viene avviato tramite un gesto dell'utente, che riflette meglio l'intenzione dell'utente.

In Chrome 128, viene introdotta una nuova funzionalità che consente agli IdP di includere l'icona del logo ufficiale della parte soggetta a limitazioni direttamente nella risposta dell'endpoint dei metadati del client. In questo modo viene migliorata l'interfaccia utente sui dispositivi mobili in modalità a pulsanti.

Analogamente al branding dell'IdP nel file di configurazione, le icone della parte soggetta a limitazioni possono essere configurate sul lato IdP e restituite nella risposta client_metadata_endpoint come segue:

  "privacy_policy_url": "https://rp.example/privacy_policy.html",
  "terms_of_service_url": "https://rp.example/terms_of_service.html",
  "icons": [{
      "url": "https://idp.example/rp-icon.ico",
      "size": 40
   }]
Icone dei loghi degli IdP e delle parti soggette a limitazioni.
Le icone del logo dell'IdP e della parte soggetta a limitazioni nell'interfaccia utente dell'informativa su dispositivo mobile.

Per scoprire di più sul supporto delle icone, consulta la documentazione per gli sviluppatori.

Se l'utente non ha ancora eseguito l'accesso, FedCM gli chiede di accedere all'IdP utilizzando il valore login_url fornito dall'IdP mediante una scheda personalizzata di Chrome (CCT).

Un utente sta accedendo tramite la modalità pulsante su un dispositivo mobile.

Se l'utente esegue nuovamente l'autenticazione con un account di ritorno, l'interfaccia utente per l'informativa non verrà visualizzata.

Un utente sta accedendo con un account di ritorno. L'UI per l'informativa non viene visualizzata.

Per registrarti alla prova dell'origine, consulta le istruzioni relative all'API Button Mode su computer. Se hai già effettuato la registrazione alla prova dell'origine su computer, la funzionalità sarà automaticamente disponibile per te su Chrome su Android a partire da Chrome 128.

Bundle di API Continuation per Chrome su Android

A partire dalla versione 128 di Chrome, il pacchetto API Continuation sarà disponibile per Chrome su Android nell'ambito di una prova dell'origine, a seguito della prova iniziale su computer. Il bundle è composto da diverse funzionalità FedCM, tra cui l'API Continuation, l'API Parameters, l'API Field, più elementi configURL ed Etichette account personalizzate.

L'API Continuation abilita i flussi di accesso in più passaggi. L'API Parameters consente di passare parametri aggiuntivi all'IdP. L'API Fields consente alla parte soggetta a limitazioni di richiedere attributi dell'account specifici per l'interfaccia utente dell'informativa nella finestra di dialogo FedCM. Inoltre, più configURL supportano più file di configurazione per un IdP e le etichette dell'account personalizzate consentono agli IdP di annotare gli account in modo che le parti soggette a limitazioni possano filtrarli in base a queste etichette.

Per scoprire di più sul bundle dell'API Continuation, leggi il post del blog sul pacchetto API Continuation su desktop. Per registrarti alla prova dell'origine, segui queste istruzioni. Se hai già effettuato la registrazione alla prova dell'origine su computer, le funzionalità saranno disponibili automaticamente su Chrome su Android a partire da Chrome 128.

Interagisci e condividi il feedback

Se vuoi inviare un feedback o riscontri problemi, puoi segnalare un problema. Continueremo ad aggiornare la guida canonica per gli sviluppatori di FedCM, oltre alla pagina dei log di aggiornamento.