Due app nel progetto Firebase. Perché registrare l'utente della prima app è in grado di accedere alla seconda app senza registrarsi?
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
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