Beste Lösung für User Erstellung in mongodb

Raphael_

Aktives Mitglied
Hallo,

Ich verwende Keycloak als Identitätsanbieter und möchte MongoDB als meine Datenbank verwenden. In der Datenbank möchte ich den „sub“-Wert aus dem JWT-Token als Benutzer-ID speichern. Die Frage ist also: Was soll ich tun, wenn sich ein Benutzer registriert? Ist es ratsam, das Frontend ein JWT-Token senden zu lassen und das Backend prüfen zu lassen, ob es den Sub kennt und, wenn nicht, einen neuen Benutzer in der Datenbank zu registrieren? Oder gibt es andere Möglichkeiten, die besser sind?

Vielen Dank!
 
Ja, das klingt genau so, wie der Ablauf ist. Der User geht zum Frontend. Für Anmeldung / Registrierung ist Keycloak zuständig, daher wird das Frontend vermutlich für diese Tätigkeiten an Keycloak verweisen. Das Frontend hat also damit eigentlich nichts am Hut - außer eben der Verweis an Keycloak. (Geht auch anders - du könntest über die Keycloak API alles auch selbst bauen, aber das wirst Du vermutlich nicht gemacht haben.)

Das Backend hat dann nur den Fall: Es bekommt einen Request mit JWT Token (der kommt von Deinem Frontend, aber das ist eigentlich auch egal, so lange die Security stimmt). Das JWT Token wird ausgelesen. Das Backend stellt fest, dass es noch keinen Benutzer lokal gibt und legt daher einen neuen an.

Damit ist halt der Ablauf so wie beschrieben: Nach der Registrierung meldet sich der User an (oder ist direkt angemeldet), Keycloak verweist zudrück ans Frontend. Im Frontend hast Du das JWT Token und kannst damit einen Request an das Backend senden. Damit bekommt das Backend das JWT Token...
 

Zurück
Oben