L'analisi si spegne alla fine dell'anno, quindi ho deciso di iniziare a utilizzare Firebase. Devo implementare un processo di registrazione con 3 campi: email, nome utente, password (Email & nome utente deve essere univoco per la mia app).Firebase Android: crea un nome utente univoco
Dal momento che Firebase non fornisce un modo semplice per gestire il nome utente come Parse, ho deciso di utilizzare solo la registrazione email/password e di salvare alcuni dati aggiuntivi come il nome utente. Qui è la mia struttura dati degli utenti:
app : {
users: {
"some-user-uid": {
email: "[email protected]"
username: "myname"
}
}
}
Ma, quello che voglio fare è quello di rendere il nome utente unico e per verificare prima di creare un account. Queste sono le mie regole:
{
"rules": {
".read": true,
".write": true,
"users": {
"$uid": {
".write": "auth !== null && auth.uid === $uid",
".read": "auth !== null && auth.provider === 'password'",
"username": {".validate": "!root.child('users').child(newData.child('username').val()).exists()"}
}
}
}
}
La ringrazio molto per il vostro aiuto
Quindi vuoi controllare le regole di Firebase sul client Android? –
Sì, voglio controllare prima se il nome utente viene preso se firebase mi dice no, quindi creare un account altrimenti basta chiedere all'utente di scegliere un altro nome utente – FloGz
Oltre alla mia risposta sulla struttura dei dati e le regole di sicurezza, ecco alcune domande dove l'argomento ha è stato trattato in precedenza: http://stackoverflow.com/questions/29970681/enforcing-unique-usernames-with-firebase-simplelogin, http://stackoverflow.com/questions/25294478/how-do-you-prevent-duplicate- user-properties-in-firebase, http://stackoverflow.com/questions/15910165/usernames-with-firebase-simple-login-email-password, http://stackoverflow.com/questions/20260476/what-firebase- rule-will-prevenire-duplicates-in-a-collection-based-on-other-fields –