A partire da Chrome 128, l'API Multi-IdP sta iniziando una prova dell'origine su computer, mentre l'API Button Mode e il bundle Continuation stanno iniziando 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 API. Il bundle Continuation è 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 dal provider di identità. Il bundle include anche altre
modifiche, come l'API Fields, configURL multipli ed etichette account personalizzate.
Prova dell'origine: API multi-IdP
La funzionalità consente agli utenti di scegliere un account da un insieme di IdP 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 al RP utilizzando uno degli IdP.
I provider di identità vengono classificati in base agli account esistenti dell'utente e ai relativi timestamp.
- Se l'utente ha eseguito l'accesso in precedenza al RP con un IdP specifico (ovvero ha un "account di ritorno"), questi IdP verranno elencati per primi.
- All'interno degli account restituiti, gli IdP vengono ulteriormente ordinati in base al timestamp del loro utilizzo più recente, con l'IdP utilizzato più di recente visualizzato all'inizio dell'elenco. In alcuni casi, Chrome potrebbe non disporre dei dati 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 timestamp.
- Se l'utente non ha account di ritorno con alcun IdP, viene rispettato l'ordine fornito dal RP.
FedCM consente la riautenticazione automatica se lo sviluppatore lo 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à la riautenticazione automatica solo quando avrà riconosciuto esplicitamente l'account. Ciò implica che l'utente deve aver utilizzato 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. Allo stesso modo, se lo stato dell'utente è disconnesso per tutti gli IdP disponibili, la richiesta di accesso FedCM non viene visualizzata 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 di mancata corrispondenza per l'IdP, che suggerisce all'utente di accedere con l'IdP non corrispondente.
Per saperne di più sullo stato di 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 in qualità di utente. Assicurati 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 della demo.
Tieni presente che per provare Multi-IdP sui siti la cui 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 provider di accesso ha un SDK JavaScript incorporato nella RP (consigliato), la
chiamata navigator.credentials.get() per abilitare più IdP può essere implementata dal
provider e gli sviluppatori della RP non devono modificare il codice. In caso contrario,
il RP deve chiamare l'API FedCM.
Per testare più IdP 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 ha eseguito l'autenticazione. Il RP può
determinare come gestire il token risultante, poiché varia a seconda del
IdP.
Partecipare alla prova dell'origine
Origin trials ti consente di provare nuove funzionalità e fornire feedback sulla loro usabilità, praticità ed efficacia. Per saperne di più, consulta la pagina Guida introduttiva alle prove di origine.
Puoi provare la funzionalità Multi IdP registrandoti alle prove dell'origine a partire da Chrome 128.
Per provare Multi IdP, una RP può registrare la propria origine ed eseguire una prova dell'origine proprietaria. È anche 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 tutte le RP che utilizzano gli SDK JavaScript.
Passaggi per partecipare alla prova dell'origine:
- 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.
- Per registrarti a una prova dell'origine proprietaria, inserisci l'origine della RP nel campo "Origine web". Per una prova dell'origine di terze parti, inserisci l'origine dell'SDK JavaScript del fornitore di identità e seleziona la casella "Corrispondenza di terze parti".
- Fai clic su Invia.
- 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 a livello di programmazione.
- Per i partecipanti alla prova dell'origine proprietaria:
- Come meta tag in
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, 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 hanno eseguito la disconnessione dall'IdP al momento della chiamata API. Il flusso di accesso viene avviato da un gesto dell'utente, che riflette meglio la sua intenzione.
In Chrome 128 è stata introdotta una nuova funzionalità che consente agli IdP di includere l'icona del logo ufficiale del RP direttamente nella risposta dell'endpoint dei metadati client. In questo modo, l'interfaccia utente sui dispositivi mobili viene migliorata in modalità pulsante.
Analogamente al branding dell'IdP nel file di configurazione, le icone del RP 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
}]
Per saperne 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 al provider di identità
utilizzando login_url fornito dal provider di identità tramite una scheda personalizzata di Chrome (CCT).
Se l'utente esegue nuovamente l'autenticazione con un account di ritorno, l'interfaccia utente dell'informativa non verrà visualizzata.
Per registrarti alla prova dell'origine, consulta le istruzioni per l'API Button Mode su computer. Se hai già eseguito la registrazione alla 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à FedCM, tra cui l'API Continuation, l'API Parameters, l'API Fields, l'API Multiple configURLs e le etichette personalizzate per gli account.
L'API Continuation consente flussi di accesso in più passaggi. L'API Parameters consente
di passare parametri aggiuntivi al fornitore di identità. L'API Fields consente al RP di richiedere
attributi specifici dell'account per l'interfaccia utente di divulgazione nella finestra di dialogo FedCM. Inoltre,
Multiple configURL supporta più file di configurazione per un IdP e le etichette
account personalizzate consentono agli IdP di annotare gli account in modo che le RP possano filtrarli in base
a queste etichette.
Per scoprire di più sul bundle API Continuation, consulta il post del blog sul bundle API Continuation sul computer. Per registrarti alla prova dell'origine, segui queste istruzioni. Se hai già eseguito la registrazione alla prova dell'origine su computer, le funzionalità saranno disponibili automaticamente su Chrome per Android a partire da Chrome 128.
Partecipare e condividere feedback
Se hai feedback o riscontri problemi, puoi segnalare un problema. Manterremo aggiornata la guida canonica per gli sviluppatori di FedCM, insieme alla pagina dei log degli aggiornamenti accumulati.