API Users per servizi in bundle legacy

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 l'accesso.
  • Chiedi all'utente dell'applicazione di creare un nuovo Account Google se non ne ha già uno.

Quando un utente ha eseguito l'accesso all'applicazione, l'app può accedere all'indirizzo email dell'utente e a un ID utente unico. L'app può inoltre rilevare se l'utente corrente è un amministratore (detto anche "utente amministratore"), semplificando l'implementazione delle 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.

Per prima cosa, importa il modulo google.appengine.api.users.

from google.appengine.api import users

Quindi utilizzalo per ottenere informazioni sull'utente:

user = users.get_current_user()
if user:
    nickname = user.nickname()
    logout_url = users.create_logout_url('/')
    greeting = 'Welcome, {}! (<a href="{}">sign out</a>)'.format(
        nickname, logout_url)
else:
    login_url = users.create_login_url('/')
    greeting = '<a href="{}">Sign in</a>'.format(login_url)

Applicazione dell'accesso e dell'accesso amministrativo con app.yaml

Se alcune pagine richiedono che l'utente abbia eseguito l'accesso per poter accedere, puoi applicare questa impostazione nel tuo file app.yaml. Se un utente accede a un URL configurato per richiedere l'accesso e non ha eseguito l'accesso, App Engine reindirizza l'utente alla pagina di accesso Google appropriata, quindi lo reindirizza all'URL dell'app dopo che è stato eseguito l'accesso o la registrazione.

La configurazione del gestore può anche richiedere che l'utente sia un amministratore registrato dell'applicazione, ovvero il ruolo Visualizzatore, Editor, Proprietario o Amministratore di App Engine. In questo modo è più 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, scopri come richiedere lo stato di accesso o amministratore nella documentazione di riferimento di app.yaml.

Opzioni di autenticazione

La tua app può autenticare gli utenti utilizzando una delle seguenti opzioni:

  • Un account Google
  • Un account nel tuo dominio Google Workspace

Scelta di un'opzione di autenticazione

Dopo aver creato l'app, puoi scegliere l'opzione di autenticazione che vuoi utilizzare. Per impostazione predefinita, la tua app utilizza gli Account Google per l'autenticazione. Per scegliere un'altra opzione, ad esempio 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 desiderato e fai clic su Salva.

Accesso e disconnessione

Un'applicazione può rilevare se un utente ha eseguito l'accesso all'app con l'opzione di autenticazione scelta dall'app. Se l'utente non ha eseguito l'accesso, l'app può indirizzarlo agli Account Google per accedere o creare un nuovo Account Google. L'app recupera l'URL della pagina di accesso chiamando un metodo dell'API Users. L'app può visualizzare questo URL come link o inviare 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 dell'applicazione viene visualizzato nella pagina di accesso quando l'utente accede all'applicazione. Il nome visualizzato è quello specificato durante la registrazione dell'applicazione. Puoi modificare questo nome nel campo Nome applicazione della pagina Credenziali della console Google Cloud.

Una volta che l'utente ha eseguito l'accesso o creato un Account Google, l'utente 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 annulla l'autenticazione dell'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 chiesto di farlo dall'app e di inserire l'indirizzo email e la password del proprio account. anche se l'utente ha eseguito l'accesso ad altre applicazioni utilizzando il proprio Account Google.

Accesso ai dati dell'account

Mentre un utente esegue l'accesso a un'app, quest'ultima può accedere all'indirizzo email dell'account per ogni richiesta che l'utente invia 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ò inoltre determinare se l'utente corrente è un amministratore dell'app. Un utente admin è qualsiasi utente con il ruolo Visualizzatore, Editor, Proprietario o Amministratore di App Engine. Puoi utilizzare questa funzionalità per creare funzionalità amministrative per l'app, anche se non esegui l'autenticazione di altri utenti. Le API Go, Java, PHP e Python semplificano la configurazione degli URL come "solo amministratore".

Utenti e Datastore

L'API del servizio Utenti può restituire le informazioni dell'utente corrente sotto forma di oggetto User. Anche se gli oggetti utente possono essere archiviati come valore di proprietà nel datastore, consigliamo vivamente di non farlo perché include l'indirizzo email e l'ID univoco dell'utente. Se un utente cambia il proprio indirizzo email e confronti il precedente valore User archiviato con il nuovo valore User, non corrisponderanno. Considera invece di utilizzare il valore ID utente User come identificatore univoco stabile dell'utente.

Account Google e il server di sviluppo

Il server di sviluppo simula il sistema degli Account Google utilizzando una schermata di accesso falsa. Quando l'applicazione chiama l'API Users per ottenere l'URL per la schermata di accesso, l'API restituisce un URL speciale del server di sviluppo che richiede un indirizzo email, ma nessuna password. Puoi digitare qualsiasi indirizzo email in questa richiesta e l'app si comporterà come se avessi eseguito l'accesso con un account con quell'indirizzo.

La schermata di accesso falsa include anche una casella di controllo che indica se l'account falso è un amministratore, ovvero se l'account dispone del ruolo Visualizzatore, Editor, Proprietario o Amministratore di 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 uscita che annulla l'accesso falso.

L'ID univoco di 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.