L'API Users consente a un'applicazione di:
- Rileva se l'utente corrente ha eseguito l'accesso.
- Reindirizza l'utente alla pagina di accesso appropriata per eseguire l'accesso.
- Chiedi all'utente della tua applicazione di creare un nuovo Account Google se non ne ha già uno.
Quando un utente accede all'applicazione, l'app può accedere al suo indirizzo email, nonché a un ID utente univoco. L'app può anche rilevare se l'utente corrente è un amministratore (chiamato anche "utente amministratore"), semplificando l'implementazione di aree dell'app riservate agli amministratori.
Autenticazione utente in Python 2
L'esempio seguente saluta un utente che ha eseguito l'accesso all'app con un messaggio personalizzato e un link per uscire. Se l'utente non ha eseguito l'accesso, l'app offre un link alla pagina di accesso per gli Account Google.
Innanzitutto, importa il modulo
google.appengine.api.users
.
Poi utilizzalo per ottenere informazioni sull'utente:
Imposizione dell'accesso e dell'accesso amministrativo con app.yaml
Se hai pagine che richiedono l'accesso dell'utente per
accedervi, puoi applicare questa impostazione nel file app.yaml
. Se un utente accede a un URL configurato
per richiedere l'accesso e l'utente non ha eseguito l'accesso, App Engine lo reindirizza
alla pagina di accesso Google appropriata, quindi lo reindirizza all'URL
della tua app dopo l'accesso o la registrazione riusciti.
La configurazione del gestore può anche richiedere che l'utente sia un amministratore registrato per l'applicazione, ovvero che disponga del ruolo Visualizzatore, Editor, Proprietario o Amministratore App Engine. In questo modo è facile creare sezioni del sito riservate agli amministratori, senza dover implementare un meccanismo di autorizzazione separato.
Per scoprire come configurare l'autenticazione per gli URL, consulta la sezione su come richiedere l'accesso o lo stato di amministratore nel riferimento app.yaml
.
Opzioni di autenticazione
La tua app può autenticare gli utenti utilizzando una di queste opzioni:
- Un account Google
- Un account sul tuo dominio Google Workspace
Scegliere un'opzione di autenticazione
Dopo aver creato l'app, puoi scegliere l'opzione di autenticazione che vuoi utilizzare. Per impostazione predefinita, l'app utilizzerà gli Account Google per l'autenticazione. Per scegliere un'altra opzione, ad esempio il dominio Google Workspace, vai alla pagina Impostazioni del tuo progetto nella console Google Cloud e fai clic su Modifica. Nel menu a discesa Autenticazione Google, seleziona il tipo di autenticazione che preferisci e poi fai clic su Salva.
Accedere e uscire dall'account
Un'applicazione può rilevare se un utente ha eseguito l'accesso all'app con l'opzione di autenticazione scelta per la tua app. Se l'utente non ha eseguito l'accesso, l'app può indirizzarlo ad Account Google per accedere o creare un nuovo Account Google. L'app ottiene l'URL della pagina di accesso chiamando un metodo dell'API Users. L'app può visualizzare questo URL come link o può emettere un reindirizzamento HTTP all'URL quando l'utente visita una pagina che richiede l'autenticazione.
Se la tua app utilizza Account Google o Google Workspace per l'autenticazione, il nome della tua applicazione viene visualizzato nella pagina di accesso quando l'utente accede alla tua applicazione. Il nome visualizzato è il nome dell'applicazione specificato al momento della registrazione. Puoi modificare questo nome nel campo Nome applicazione della pagina Google Cloud Credenziali della console.
Una volta che l'utente ha eseguito l'accesso o creato un Account Google, viene reindirizzato alla tua applicazione. L'app fornisce l'URL di reindirizzamento al metodo che genera l'URL di accesso.
L'API Users include un metodo per generare un URL per uscire dall'app. L'URL di disconnessione deautentica l'utente dall'app, quindi reindirizza all'URL dell'app senza visualizzare nulla.
Un utente non ha eseguito l'accesso a un'applicazione finché non gli viene richiesto dall'app e non inserisce l'indirizzo email e la password del proprio account. Ciò vale anche se l'utente ha eseguito l'accesso ad altre applicazioni utilizzando il proprio Account Google.
Accesso ai dati dell'account
Quando un utente accede a un'app, questa può accedere all'indirizzo email dell'account per ogni richiesta che l'utente fa all'app. L'app può anche accedere a un ID utente che identifica l'utente in modo univoco, anche se l'utente cambia l'indirizzo email del proprio account.
L'app può anche determinare se l'utente corrente è un amministratore dell'app. Un utente amministratore è qualsiasi utente con il ruolo di visualizzatore, editor, proprietario o amministratore App Engine. Puoi utilizzare questa funzionalità per creare funzionalità amministrative per l'app, anche se non autentichi altri utenti. Le API Go, Java, PHP e Python semplificano la configurazione degli URL come "solo amministratore".
Utenti e Datastore
L'API servizio utenti può restituire le informazioni dell'utente corrente come oggetto User.
Sebbene gli oggetti User possano essere archiviati come valore di proprietà nel datastore, ti
consigliamo vivamente di evitare di farlo perché ciò include l'indirizzo
email insieme all'ID univoco dell'utente. Se un utente cambia il proprio indirizzo email
e confronti il vecchio User
memorizzato con il nuovo valore User
,
non corrisponderanno. Valuta invece la possibilità di utilizzare il User
valore dell'ID utente come identificatore univoco stabile dell'utente.
Account Google e server di sviluppo
Il server di sviluppo simula il sistema degli Account Google utilizzando una schermata di accesso fittizia. Quando l'applicazione chiama l'API Users per ottenere l'URL della schermata di accesso, l'API restituisce uno speciale URL del server di sviluppo che richiede un indirizzo email, ma non una password. Puoi digitare qualsiasi indirizzo email in questo prompt e l'app si comporterà come se avessi eseguito l'accesso con un account con questo indirizzo.
La schermata di accesso falsa include anche una casella di controllo che indica se l'account falso è un amministratore, ovvero se l'account ha il ruolo Visualizzatore, Editor, Proprietario o Amministratore App Engine. Se selezioni questa casella, l'app si comporterà come se avessi eseguito l'accesso utilizzando un account amministratore.
Analogamente, l'API Users restituisce un URL di disconnessione che annulla l'accesso simulato.
L'ID univoco per un oggetto User nel server di sviluppo viene calcolato dall'indirizzo email. Due indirizzi email univoci rappresentano sempre due utenti unici nel server di sviluppo.