Hallo,
erstmal erkläre ich die gewünschte Funktion in meiner App:
Also, es gibt einen Login Screen auf dem man sich anmelden kann. (Keine Möglichkeit zu registrieren, neue Benutzer werden vom Admin verwaltet)
Jetzt soll der Benutzer je nachdem ob er Admin rechte hat die möglichkeit haben Benutzer hinzufügen/ändern/löschen zu können (wird warscheinlich an einfachsten sein in der Datenbank für jeden Benutzer ein boolean zu erstellen mit dem man dann abfragt ob Benutzer isAdmin true ist, oder gibt es eine effizientere möglichkeit?)
Das mit dem anmelden klappt einwandfrei (bis jetzt gibt es noch keine admin abfrage, noch kann es jeder machen)
Das erste Problem auf das ich gestoßen bin ist das sobald ich sage "mAuth.createUserWithEmailAndPassword(email, passwort);" loggt es meinen aktuellen benutzer aus und meldet sich mit dem eben erstellten Benutzer an.
Laut Google Recherche gibt es keine möglichkeit das automatische einloggen zu verhindern, ich muss mich erneut einlogen... Um mich erneut einzulogen muss ich allerdings das Passwort mit angeben.
Bedeutet ich müsste entweder den Admin sich jedesmal neu einloggen lassen (was bei so 50 neuen teilnehmern extrem nervig ist) oder ich muss das Passwort irgendwie bekommen.
Problem ist nur das Firebase mir keine Möglichkeit bietet es zu bekommen..
Ich bin das ganze jetzt so umgangen das das Passwort anfangs beim login lokal gespeichert wird. Da gibt es doch bestimmt schönere lösungsmöglichkeiten oder?
Das nächste große Problem ist so ähnlich:
Sobald jetzt ein Benutzer gelöscht werden soll geht er die Datenbank durch, zeigt sie an und der angeklickte Benutzer wird gelöscht...
So die Theorie, denn man kann anscheinend nur den currentUser löschen
Heißt ich muss mich erst mit dessen Benutzerdaten anmelden. Hier hab ich nicht die möglichkeit das passwort lokal zu speichern sondern müsste es mit in der datenbank speichern... keine gute idee wie mir scheint...
Eine angeblich andere Möglichkeit die es eventuell gibt, es gibt die funktion mAuth.signInWithCustomToken allerdings um so einen Token zu erstellen muss man irgendwie ein admin sdk implementieren.
Die Tutorials die es dazu gibt bringen mir nichts, da jagt ein Fehler den nächsten...
Wobei ich mir da eh nicht sicher bin ob das am ende dann funktioniert.
Wie würdet ihr das anstellen? (Bitte einfach erklären, bin noch recht neu in der Materie )