Sto utilizzando il metodo di accesso e-mail/password per Firebase. Vorrei crittografare i dati salvati dagli utenti nel database in tempo reale prima di inviarli al database. Firebase gestisce già la password dell'utente, ma posso in qualche modo usarlo per crittografare i dati che non possono essere decifrati da me solo il client? Sarebbe bello se potessi realizzarlo con il client sdk.Come crittografare i dati utente in Firebase
Quindi il mio flusso sarebbe qualcosa di simile: Segno
- utente in con il suo credenziali (che è gestito da Firebase stesso)
- cifrare User alcuni dati con una certa chiave unica, che può essere generato solo dalle credenziali o da alcuni dati disponibili solo per l'utente, ma non da me. (questa chiave deve essere persistente tra le sessioni o dopo che l'utente ha cambiato la password.)
- I dati vengono salvati nel database (non posso leggerlo poiché è crittografato con le credenziali dell'utente)
- Accesso utente su un altro dispositivo (la chiave di decrittazione può essere generato subito e dati possono essere decifrati.)
È necessario memorizzare la chiave di decodifica da qualche parte. Se è nel database, puoi usarlo. Se si trova nel dispositivo client, non è possibile migrarlo su un altro dispositivo. A meno che l'utente non abbia una parte da giocare nel ricordare o trasferire questo tasto, non vedo come puoi farlo senza coinvolgere l'utente –
Sì, ma se la chiave può essere generata forma qualche valore univoco dell'oggetto auth dell'utente che è caricato solo dopo che l'utente ha effettuato l'accesso con le sue credenziali, allora funzionerebbe. Purtroppo non so di una tale proprietà sull'oggetto auth. – NoNameProvided
È un requisito così fondamentale che mi chiedo come altri hanno affrontato questo problema. – NoNameProvided