Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

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:

  1. Vai alla pagina Impostazioni di Identity Platform in Google Cloud Console.

    Vai alla pagina Impostazioni

  2. Seleziona la scheda Sicurezza.

  3. In Authorized Domains (Domini autorizzati), fai clic su Add Domain (Aggiungi dominio).

  4. Inserisci l'URI dell'estensione. Il codice dovrebbe essere simile a chrome-extension://CHROME_EXTENSION_ID.

  5. 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() e linkWithPopup()) 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