ID regione
REGION_ID
è un codice abbreviato assegnato da Google in base alla regione selezionata quando crei l'app. Il codice non corrisponde a un paese o a una provincia, anche se alcuni ID regione possono sembrare simili ai codici di paesi e province di uso comune. Per le app create dopo febbraio 2020, REGION_ID.r
è incluso negli URL di App Engine. Per le app esistenti create prima di questa data, l'ID regione è facoltativo nell'URL.
Scopri di più sugli ID regione.
Aggiungi al tuo servizio web un flusso di accesso utente che utilizzi Firebase Authentication.
In questo passaggio della guida, aggiorni il tuo web service per autenticare gli utenti e recuperare e visualizzare le informazioni personali di un utente dopo l'autenticazione. Tieni presente che, per questo passaggio, i tempi di richiesta del sito saranno comunque globali anziché specifici per utente.
Prima di iniziare
Se hai completato tutti i passaggi precedenti di questa guida, salta questa sezione. In caso contrario, completa una delle seguenti operazioni:
Inizia da Creare un'app Python 3 e completa tutti i passaggi precedenti a questo.
Se hai già un progetto Google Cloud, puoi continuare scaricando una copia del servizio web e aggiungendo Firebase:
Scarica il repository dell'applicazione di esempio utilizzando Git:
git clone https://github.com/GoogleCloudPlatform/python-docs-samples
In alternativa, puoi scaricare il sample come file ZIP e poi estrarlo.
Vai alla directory che contiene una copia dei file del passaggio precedente:
cd python-docs-samples/appengine/standard_python3/building-an-app/building-an-app-2
Aggiungi Firebase al tuo progetto Google Cloud e al tuo servizio web.
Aggiungere metodi di autenticazione Firebase
Firebase fornisce metodi e variabili JavaScript che puoi utilizzare per configurare il comportamento di accesso per il tuo servizio web. Per questo servizio web, aggiungi una funzione di disconnessione, una variabile che configura l'interfaccia utente di accesso e una funzione che controlla cosa cambia quando un utente accede o esce.
Per aggiungere i comportamenti richiesti per un flusso di autenticazione, sostituisci il metodo di gestore degli eventi corrente del file static/script.js
con il seguente codice:
Tieni presente che il metodo onAuthStateChanged()
, che controlla le modifiche quando un utente accede o esce, memorizza il token ID dell'utente come cookie.
Questo token ID è un token univoco generato automaticamente da Firebase quando un utente accede correttamente e viene utilizzato dal server per autenticarlo.
Aggiornare il servizio web per utilizzare i token
Successivamente, verifica gli utenti sul server utilizzando il loro token ID Firebase univoco, quindi decripta il token in modo da poter stampare i loro dati.
Per utilizzare l'ID token Firebase:
Recupera, verifica e decripta il token nel metodo
root
del filemain.py
:Assicurati che il file
requirements.txt
includa tutte le dipendenze necessarie:
Testa il servizio web
Testa il servizio web eseguendolo localmente in un ambiente virtuale:
Esegui i seguenti comandi nella directory principale del progetto per installare nuove dipendenze ed eseguire il servizio web. Se non hai configurato un ambiente virtuale per i test locali, consulta Eseguire il test del servizio web.
pip install -r requirements.txt python main.py
Inserisci il seguente indirizzo nel browser web per visualizzare il servizio web:
http://localhost:8080
Deployment del servizio web
Ora che l'autenticazione funziona localmente, puoi eseguire nuovamente il deployment del servizio web in App Engine.
Esegui il comando seguente dalla directory principale del progetto,
dove si trova il file app.yaml
:
gcloud app deploy
Tutto il traffico viene instradato automaticamente alla nuova versione di cui è stato eseguito il deployment.
Per saperne di più sulla gestione delle versioni, consulta Gestire servizi e versioni.
Visualizza il servizio
Per avviare rapidamente il browser e accedere al servizio web all'indirizzo
https://PROJECT_ID.REGION_ID.r.appspot.com
, esegui il seguente
comando:
gcloud app browse
Passaggi successivi
Ora che hai configurato l'autenticazione utente, puoi scoprire come aggiornare il tuo web service per personalizzare i dati per gli utenti autenticati.