Se la tua applicazione gestisce le richieste degli utenti, è consigliabile limitare l'accesso ai soli utenti autorizzati. In genere gli utenti non dispongono dell'autorizzazione IAM su Google Cloud progetto o servizio Cloud Run.
Distinguiamo due tipi di utenti:
- Utenti finali: gli utenti della tua applicazione che non appartengono necessariamente alla tua organizzazione. In genere, devono registrare un account per sé.
- Utenti interni: utenti a cui è stato concesso esplicitamente l'accesso a per l'applicazione da un amministratore della tua organizzazione. In genere appartengono alla tua organizzazione.
Autenticazione degli utenti finali
Se vuoi autenticare gli utenti utilizzando email/password, numero di telefono, provider di social come Google, Facebook o GitHub o un meccanismo di autenticazione personalizzato, puoi utilizzare Identity Platform. Utilizzare Firebase Authentication è simile all'uso di Identity Platform.
Devi disporre di un'app web o mobile pubblica che gestisca il flusso di accesso ed esegua chiamate API autenticate a un servizio Cloud Run. Questa app web pubblica può essere ospitata su un servizio Cloud Run pubblico.
Per un tutorial completo sull'utilizzo di Identity Platform per l'autenticazione degli utenti finali, fai riferimento a L'autenticazione dell'utente finale per Cloud Run durante il tutorial.
Aggiungi codice al servizio Cloud Run per verificare i token ID.
Esegui il deployment del tuo servizio Cloud Run pubblicamente.
Effettua le seguenti operazioni nella tua app web o mobile:
- Utilizza la libreria client Firebase Auth appropriata per ottenere un token ID:
- Android: utilizza il metodo
GetTokenResult().getToken()
. - iOS: utilizza il metodo
User.getIDTokenResult(completion:)
. - Web: utilizza il metodo
firebase.User.getIdToken()
.
- Android: utilizza il metodo
- Includi il token ID in una
Authorization: Bearer ID_TOKEN
nell'intestazione richiesta al servizio.
- Utilizza la libreria client Firebase Auth appropriata per ottenere un token ID:
Per accedere alle informazioni del profilo utente, puoi utilizzare uno dei seguenti metodi:
- Utilizza l'SDK Admin Firebase per effettuare una richiesta di rete a di recupero dei dati utente.
- Utilizza una libreria client dell'API di Google per recuperare i dati utente utilizzando il metodo più adatto al runtime scelto.
Per una procedura dettagliata end-to-end di un'applicazione che utilizza questa tecnica di autenticazione, Segui il tutorial sull'autenticazione degli utenti finali per Cloud Run.
Autenticazione degli utenti interni
Per l'autenticazione degli utenti interni, puoi utilizzare Identity-Aware Proxy.
Per configurare Identity-Aware Proxy per un servizio Cloud Run esistente, consulta consulta la documentazione per l'abilitazione di Identity-Aware Proxy per Cloud Run.
Per istruzioni su come autenticare gli utenti o gli account di servizio in un servizio Cloud Run protetto da proxy con consapevolezza dell'identità utilizzando OAuth 2.0, consulta la documentazione relativa all'autenticazione programmatica.