Due app nel progetto Firebase. Perché registrare l'utente della prima app è in grado di accedere alla seconda app senza registrarsi?

Aug 23 2020

Ho due app in un unico progetto. Il primo è un'app per i clienti e il secondo è l'app aziendale. entrambe le app condividono lo stesso database Firebase.

Ed entrambe le app sono identiche in termini di accesso e registrazione. Quando ho iniziato a scrivere il codice per la seconda app, quella volta ho copiato il primo progetto e modificato tutte le attività (codice java Android) secondo le mie esigenze.

Il problema che sto affrontando è quando i clienti si registrano nell'app del cliente e quindi vengono utilizzate le stesse credenziali di accesso per accedere all'app aziendale senza registrarsi o viceversa. Non capisco perché stia succedendo. Ho visto una cosa che per entrambi la chiave SHA-1 del progetto è la stessa dopo la generazione dallo studio Android.

Voglio limitare l'accesso a senza registrarti per entrambe le app, quella dovrebbe essere in grado di accedere all'app in cui si è registrato, non nella seconda app in cui non si è registrato.

Risposte

1 FrankvanPuffelen Aug 23 2020 at 10:54

La registrazione dell'utente è per progetto e non per applicazione. Quindi Firebase non fa distinzione tra gli utenti che accedono con la prima app o con la seconda app, sono tutti solo utenti all'interno del progetto e possono autenticarsi con quel progetto.

Se vuoi fare una distinzione tra i due tipi di utenti nel tuo progetto, non dovresti farlo dall'applicazione che usano per accedere. Invece ti consigliamo di memorizzare una sorta di ruolo per ogni utente nel database, o in una rivendicazione personalizzata nel profilo di quell'utente.

Consiglierei di controllare:

  • la documentazione di Firebase sull'implementazione del controllo degli accessi basato sui ruoli e sugli attributi
  • Qual è il modo migliore per autenticare due tipi di utenti (studente e autista) nella mia app Android utilizzando Firebase
  • Come fornire un accesso diverso a diversi tipi di utente per il login in Firebase?
  • Come creare un utente amministratore Firebase per l'autenticazione in java