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 Modalità pulsante e il bundle di continuazione 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 al momento della chiamata all'API. Il bundle di continuazione è costituito dall'API Continuation e dall'API Parameters, che consentono un'esperienza simile al flusso di autorizzazione OAuth che coinvolge una finestra di dialogo di autorizzazione fornita dall'IDP. Il bundle include anche altre modifiche, come l'API Fields, più configURL e le etichette account personalizzate.

Prova dell'origine: API Multi IdP

La funzionalità consente agli utenti di scegliere un account da un insieme di provider di identità supportati e i RP beneficiano di tassi di accesso e registrazione più elevati. Se l'utente ha eseguito l'accesso con più IdP, gli verrà chiesto di accedere all'RP utilizzando uno degli IdP.

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

Le IdP vengono assegnate in base agli account esistenti dell'utente e ai relativi timestamp associati.

  • Se l'utente ha già eseguito l'accesso all'RP con un'IdP specifica (ovvero ha un "account di ritorno"), queste IdP verranno elencate per prime.
  • All'interno degli account di ritorno, gli IdP vengono ulteriormente ordinati in base al timestamp del loro utilizzo più recente, con l'IdP utilizzato più di recente nella parte superiore dell'elenco. In alcuni casi, Chrome potrebbe non avere dati sui timestamp per un account di ritorno. Ciò è probabilmente dovuto al fatto che l'utente ha eseguito l'accesso prima dell'implementazione dei log dei timestamp in FedCM. Questi account sono elencati sotto quelli con i timestamp.
  • Se l'utente non ha account di ritorno con nessun provider di identità, viene rispettato l'ordine fornito dall'RP.

FedCM consente la ri-autenticazione automatica se lo sviluppatore lo richiede e se esiste un singolo account di ritorno. Nel caso di più IdP, se esistono account di ritorno per più IdP, l'utente non verrà autenticato di nuovo automaticamente. Avere un account di ritorno è un requisito fondamentale per la ri-autenticazione automatica. Il browser avvierà l'autenticazione automatica solo dopo aver riconosciuto esplicitamente l'account. Ciò implica che l'utente deve aver utilizzato in precedenza FedCM con questo account specifico su questo RP.

Se lo stato di accesso dell'utente è impostato su disconnesso per un IdP, la chiamata a FedCM non recupera gli account per quell'IdP. Analogamente, se lo stato dell'utente è "Ultima autenticazione: Accesso non effettuato" per tutti gli IdP disponibili, la richiesta di accesso a FedCM non viene mostrata automaticamente in modalità widget.

Se lo stato di accesso salvato nel browser per un IdP è stato eseguito, ma la richiesta di recupero non ha restituito account per questo IdP (ad esempio, se la sessione utente è scaduta, ma lo stato di accesso non è ancora stato aggiornato dal browser), viene visualizzata l'interfaccia utente relativa alla mancata corrispondenza per l'IdP, suggerendo all'utente di accedere con l'IdP che non corrisponde.

Quando lo stato di accesso dell'utente è Accesso effettuato, ma la sessione è scaduta, viene visualizzata l'interfaccia utente relativa alla mancata corrispondenza.

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 utilizzando Chrome 128 o versioni successive.

Provare come utente

Prova tu stesso 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ù provider di identità demo. Segui le istruzioni riportate nella pagina della demo.

Tieni presente che per provare la funzionalità Multi-IDP sui siti di cui l'origine non è registrata per la prova dell'origine, devi attivare il flag della funzionalità in chrome://flags/#fedcm-multi-idp.

Provare come sviluppatore

Se un fornitore di servizi di accesso ha un SDK JavaScript incorporato nell'RP (opzione consigliata), la chiamata navigator.credentials.get() per abilitare più IdP può essere implementata dal fornitore e gli sviluppatori dell'RP non devono modificare il codice. In caso contrario, l'RP deve chiamare autonomamente l'API FedCM.

Per testare le identità provider multiple su un RP, 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 memorizza l'URL del file di configurazione per l'IdP con cui l'utente si è autenticato. L'RP può determinare come gestire il token risultante in quanto varia a seconda dell'IDP.

Partecipare alla prova dell'origine

Origin trials ti consente di provare nuove funzionalità e di fornire feedback sulla loro usabilità, praticità ed efficacia. Per ulteriori informazioni, consulta la guida introduttiva ai trial delle origini.

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

Per provare la funzionalità Multi IdP, un RP può registrare la propria origine ed eseguire una prova dell'origine proprietaria. È inoltre possibile che il provider di identità si registri per una prova dell'origine di terze parti e che la funzionalità Multi IdP sia disponibile per tutti i relativi RP che utilizzano 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 per una prova dell'origine proprietaria, inserisci l'origine RP nel campo "Origine web". Per una prova dell'origine di terze parti, inserisci l'origine dell'SDK JavaScript dell'IDP e seleziona la casella "Corrispondenza di terze parti".
  4. Fai clic su Invia.
  5. Fornisci il token emesso nella pagina RP:
    • 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 Modalità pulsanti per Chrome su Android

A partire dalla versione 128 di Chrome, la prova dell'origine dell'API Modalità pulsanti inizierà su Chrome per Android, dopo la 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 al momento della chiamata dell'API. Il flusso di accesso viene avviato da un gesto dell'utente, che riflette meglio l'intenzione dell'utente.

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

Analogamente al branding dell'IdP nel file di configurazione, le icone dell'RP possono essere configurate sul lato dell'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 dell&#39;IdP e dell&#39;RP.
Le icone dei loghi dell'IdP e dell'RP nell'interfaccia utente dell'informativa sui dispositivi mobili.

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 login_url fornito dall'IdP tramite una scheda personalizzata di Chrome (CCT).

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

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

Un utente sta accedendo con un account di ritorno. L'interfaccia utente dell'informativa non viene visualizzata.

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

Bundle dell'API Continuation per Chrome su Android

A partire dalla versione 128 di Chrome, il bundle dell'API Continuation sarà disponibile per Chrome su Android nell'ambito di una prova dell'origine, dopo la prova iniziale su computer. Il bundle è costituito da più funzionalità di FedCM, tra cui l'API Continuation, l'API Parameters, l'API Fields, più configURL e Etichette account personalizzate.

L'API Continuation consente flussi di accesso in più passaggi. L'API Parameters consente di passare parametri aggiuntivi all'IDP. L'API Fields consente all'RP 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 degli account personalizzate consentono agli IdP di annotare gli account in modo che gli RP possano filtrarli in base a queste etichette.

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

Coinvolgere e condividere feedback

Se hai un feedback o riscontri un problema, puoi segnalare un problema. Manterremo aggiornata la guida per gli sviluppatori di FedCM canonica, insieme alla pagina dei log di aggiornamento accumulati.