Accesso degli utenti da un'estensione di Chrome
Questo documento illustra come utilizzare Identity Platform per eseguire l'accesso degli utenti da un'estensione di Chrome.
Prima di iniziare
Abilita Identity Platform e configura un provider di identità. Per saperne di più, consulta la Guida rapida.
Aggiungi i seguenti URL alla lista consentita
content_security_policy
per l'estensione:https://apis.google.com
https://www.gstatic.com
https://www.googleapis.com
https://securetoken.googleapis.com
Per ulteriori informazioni, consulta la documentazione di CSP.
Registrazione dell'ID dell'estensione in corso...
Per consentire agli utenti di accedere da un'estensione di Chrome, devi registrare l'ID dell'estensione come dominio autorizzato:
Vai alla pagina Impostazioni di Identity Platform in Google Cloud Console.
Seleziona la scheda Sicurezza.
In Authorized Domains (Domini autorizzati), fai clic su Add Domain (Aggiungi dominio).
Inserisci l'URI dell'estensione. Il codice dovrebbe essere simile a
chrome-extension://CHROME_EXTENSION_ID
.Fai clic su Add (Aggiungi).
Accesso degli utenti
L'accesso da un'estensione di Chrome è simile a un'app web, con alcune differenze:
L'autenticazione a più fattori tramite telefono e telefono non è supportata.
Le estensioni di Chrome non possono utilizzare reindirizzamenti HTTP, quindi dovrai utilizzare operazioni popup (
signInWithPopup()
elinkWithPopup()
) per accedere agli utenti.Se chiami metodi di autenticazione da un'azione del browser, l'azione viene annullata, quindi chiamali da uno script in background.
I metodi popup possono essere utilizzati solo nelle estensioni che utilizzano Manifest V2.
L'esempio seguente mostra come accedere a un utente con Google:
JavaScript
Popup.js
// Get reference to background page.
const bgPage = chrome.extension.getBackgroundPage();
// Sign in with popup, typically attached to a button click.
bgPage.signInWithPopup();
background.js
const app = firebase.initializeApp(config);
const auth = app.auth();
const signInWithPopup = () => {
const provider = new firebase.auth.GoogleAuthProvider();
return auth.signInWithPopup(provider).catch((error) => {
console.log(error);
});
};
Passaggi successivi
- Accesso degli utenti con vari provider di identità.
- Scopri di più sugli utenti di Identity Platform.