Consenti l'accesso a un utente con un'email utilizzando Identity Platform

Scopri come utilizzare Identity Platform per eseguire l'accesso di un utente con un indirizzo email e una password.


Per seguire le indicazioni dettagliate per questa attività direttamente nella console Google Cloud, fai clic su Procedura guidata:

Procedura guidata


Prima di iniziare

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Make sure that you have the following role or roles on the project: Identity Platform Admin, Service Usage Admin

    Check for the roles

    1. In the Google Cloud console, go to the IAM page.

      Go to IAM
    2. Select the project.
    3. In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.

    4. For all rows that specify or include you, check the Role colunn to see whether the list of roles includes the required roles.

    Grant the roles

    1. In the Google Cloud console, go to the IAM page.

      Vai a IAM
    2. Seleziona il progetto.
    3. Fai clic su Concedi accesso.
    4. Nel campo Nuove entità, inserisci il tuo identificatore utente. In genere si tratta dell'indirizzo email di un Account Google.

    5. Nell'elenco Seleziona un ruolo, seleziona un ruolo.
    6. Per concedere altri ruoli, fai clic su Aggiungi un altro ruolo e aggiungi ogni ruolo aggiuntivo.
    7. Fai clic su Salva.
    8. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

      Go to project selector

    9. Make sure that billing is enabled for your Google Cloud project.

    10. Make sure that you have the following role or roles on the project: Identity Platform Admin, Service Usage Admin

      Check for the roles

      1. In the Google Cloud console, go to the IAM page.

        Go to IAM
      2. Select the project.
      3. In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.

      4. For all rows that specify or include you, check the Role colunn to see whether the list of roles includes the required roles.

      Grant the roles

      1. In the Google Cloud console, go to the IAM page.

        Vai a IAM
      2. Seleziona il progetto.
      3. Fai clic su Concedi accesso.
      4. Nel campo Nuove entità, inserisci il tuo identificatore utente. In genere si tratta dell'indirizzo email di un Account Google.

      5. Nell'elenco Seleziona un ruolo, seleziona un ruolo.
      6. Per concedere altri ruoli, fai clic su Aggiungi un altro ruolo e aggiungi ogni ruolo aggiuntivo.
      7. Fai clic su Salva.

      Abilita Identity Platform

      1. Nella console Google Cloud, vai alla pagina Identity Platform nel Cloud Marketplace.

        Vai a Identity Platform

      2. Fai clic su Abilita Identity Platform.

Configura l'accesso via email

  1. Vai alla pagina Provider di Identity Platform.

    Vai a Identity Provider

  2. Nella pagina Provider di identità, fai clic su Aggiungi un provider.

  3. Nell'elenco Seleziona un provider, seleziona Email/Password.

  4. Fai clic sul pulsante di attivazione/disattivazione Attivata per attivarlo.

  5. Per salvare le impostazioni del provider, fai clic su Salva.

Crea un utente

  1. Nella console Google Cloud, vai alla pagina Utenti.

    Vai a Utenti

  2. Fai clic su Aggiungi utente.

  3. Nel campo Email, inserisci un indirizzo email e una password. Prendi nota di entrambi i valori, perché ti serviranno in un passaggio successivo.

  4. Per aggiungere l'utente, fai clic su Aggiungi. Il nuovo utente è elencato nella pagina Utenti.

Consenti l'accesso all'utente

I passaggi per far accedere l'utente variano a seconda della versione dell'SDK utilizzata dalla tua app. Assicurati di seguire i passaggi corretti per la tua applicazione.

SDK v9 (modulare)

Installa l'SDK e inizializza Firebase

La versione 9 dell'SDK Firebase JS utilizza un formato modulo JavaScript.

Questo flusso di lavoro utilizza npm e richiede bundler di moduli o strumenti per framework JavaScript perché l'SDK 9 è ottimizzato per funzionare con bundler di moduli per eliminare il codice inutilizzato (tree-shaking) e ridurre le dimensioni dell'SDK.

Per utilizzare l'SDK v9:

  1. Dalla directory del progetto, installa Firebase utilizzando npm:

    npm install firebase
  2. Inizializza Firebase nella tua app e crea un oggetto Firebase App:

    import { initializeApp } from 'firebase/app';
    
    const firebaseConfig = {
        apiKey: "API_KEY",
        authDomain: "AUTH_DOMAIN"
    };
    
    const app = initializeApp(firebaseConfig);

    Sostituisci quanto segue:

    • API_KEY: il apiKey del tuo progetto Firebase.
    • AUTH_DOMAIN: il authDomain del tuo progetto Firebase.

    Puoi trovare questi valori nella configurazione del progetto Firebase della tua app.

    Un'app Firebase è un oggetto simile a un contenitore che memorizza la configurazione comune e condivide l'autenticazione tra i servizi Firebase. Dopo aver inizializzato un oggetto App Firebase nel codice, puoi aggiungere e iniziare a utilizzare i servizi Firebase.

Accedere a Identity Platform in Javascript

Ora che hai inizializzato l'SDK Firebase, puoi utilizzarlo ovunque nella tua app. Ad esempio, di seguito è riportata un'app che tenta di accedere a un utente hardcoded e mostra il risultato in una pagina web.

import { initializeApp } from 'firebase/app';
import {
  onAuthStateChanged,
  signInWithEmailAndPassword,
  getAuth
} from 'firebase/auth';

const firebaseConfig = {
  apiKey: "API_KEY",
  authDomain: "AUTH_DOMAIN"
};
const app = initializeApp(firebaseConfig);
const auth = getAuth(app, {/* extra options */ });

document.addEventListener("DOMContentLoaded", () => {
  onAuthStateChanged(auth, (user) => {
      if (user) {
          document.getElementById("message").innerHTML = "Welcome, " + user.email;
      }
      else {
          document.getElementById("message").innerHTML = "No user signed in.";
      }
  });
  signIn();
});

function signIn() {
  const email = "EMAIL_ID";
  const password = "PASSWORD";
  signInWithEmailAndPassword(auth, email, password)
      .catch((error) => {
          document.getElementById("message").innerHTML = error.message;
      });
}

Sostituisci quanto segue:

  • API_KEY: il apiKey del tuo progetto Firebase.
  • AUTH_DOMAIN: il authDomain del tuo progetto Firebase.
  • EMAIL_ID: l'indirizzo email dell'utente che hai creato in precedenza in questa guida.
  • PASSWORD: la password utente che hai creato in precedenza in questa guida.

Utilizza un aggregatore di moduli per ridurre le dimensioni

L'SDK web di Firebase è progettato per funzionare con i bundler dei moduli al fine di rimuovere il codice non utilizzato (tree-shaking). Ti consigliamo vivamente di utilizzare questo approccio per le app di produzione. Strumenti come Angular CLI, Next.js, Vue CLI o Create React App gestiscono automaticamente il bundling dei moduli per le librerie installate tramite npm e importate nel codice di base.

Ad esempio, puoi utilizzare Webpack per generare una cartella dist contenente il codice dell'applicazione e delle dipendenze in bundle. Per ulteriori informazioni, consulta la sezione Utilizzare i bundler dei moduli con Firebase.

Importare il codice JavaScript nella pagina

  1. Crea un nuovo file denominato index.html.

  2. Aggiungi due container HTML di base e importa il codice JavaScript aggregato.

    <script defer src="js/bundled.js"></script>
    <div>Identity Platform Quickstart</div>
    <div id="message">Loading...</div>
    
  3. Avvia index.html nel browser web. Viene visualizzato un messaggio di benvenuto che mostra l'email dell'utente.

SDK v8 (legacy)

Crea una pagina web

  1. Sul computer locale, crea un nuovo file denominato index.html.

  2. Nel file HTML, aggiungi due contenitori HTML:

    <div>Identity Platform Quickstart</div>
    <div id="message">Loading...</div>
    

Inizializza l'SDK client di Identity Platform con la tua chiave API

  1. Nella console Google Cloud, vai alla pagina Identity Provider.

    Vai a Identity Provider

  2. Fai clic su Dettagli di configurazione dell'applicazione.

  3. Copia il codice di inizializzazione in index.html.

Consenti l'accesso all'utente

  1. Per consentire l'accesso all'utente, copia il seguente codice in index.html:

    <script>
      var email = "EMAIL_ID";
      var password = "PASSWORD";
    
      firebase.auth().onAuthStateChanged(function(user) {
        if (user) {
          document.getElementById("message").innerHTML = "Welcome, " + user.email;
        } else {
          document.getElementById("message").innerHTML = "No user signed in.";
        }
      });
    
      firebase.auth().signInWithEmailAndPassword(email, password).catch(function(error) {
        document.getElementById("message").innerHTML = error.message;
      });
    </script>
    

    Questo codice chiama signInWithEmailAndPassword() ed elabora il risultato con il callback onAuthStateChanged().

    Sostituisci quanto segue:

    • EMAIL_ID: l'indirizzo email dell'utente che hai creato in precedenza
    • PASSWORD: la password dell'utente che hai creato in precedenza
  2. Apri index.html nel browser web. Viene visualizzato un messaggio di benvenuto che mostra l'email dell'utente.

Esiste un limite per i tentativi di accesso utente non riusciti. Diversi tentativi di accesso rapidi e non riusciti bloccano temporaneamente l'utente dal suo account.

Per ulteriori informazioni su altri limiti di Identity Platform, consulta Quote e limiti.

Esegui la pulizia

Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questa pagina, segui questi passaggi.

Elimina il provider e l'utente

Se hai utilizzato un progetto Google Cloud esistente, elimina il provider e l'utente che hai creato per evitare addebiti sul tuo account:

  1. Nella console Google Cloud, vai alla pagina Identity Provider.

    Vai a Identity Provider

  2. Per eliminare il fornitore, fai clic su Elimina accanto al nome del fornitore. Per confermare, fai clic su Elimina.

  3. Nella console Google Cloud, vai alla pagina Utenti.

    Vai a Utenti

  4. Per eliminare l'utente che hai creato, fai clic su Elimina accanto al nome dell'utente. Per confermare, fai clic su Elimina.

Elimina il progetto

Il modo più semplice per eliminare la fatturazione è eliminare il progetto che hai creato per il tutorial.

Per eliminare il progetto:

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

Passaggi successivi

In un'app reale, gli utenti dovrebbero registrarsi tramite una pagina di registrazione dedicata e accedere inserendo indirizzo email e password. Identity Platform offre una UI di autenticazione predefinita che puoi utilizzare per queste pagine; in alternativa, puoi crearne una tua. Puoi anche decidere di supportare metodi di accesso aggiuntivi, ad esempio provider social (come Facebook o Google), numeri di telefono, OIDC o SAML.

Scopri ulteriori informazioni su: