Zugriff auf die Supabase Auth Userdatenbank mit Laravel möglich?
Guten Tag,
ein Freund von mir arbeitet aktuell an einem P2P Marktplatz mit Laravel, während ich mich an einer dazugehörigen Flutter App probiere. Mir sprang dabei der Backend Service Supabase ins Auge, da dieser mir relativen Datenbanken arbeitet und er diese mithilfe von Laravel anzapfen kann. Nun habe ich gesehen, dass Supabase eine eigene Datenbank für die User führt, welche abgeschottet zu scheinen scheint. Für diese gäbe es super einfache Authentifizierungsfunktionen, allerdings weiß ich nicht, ob er diese mithilfe von Laravel auslesen bzw. beschreiben kann.
Meine Frage ist daher: Ist es möglich mit Laravel Zugrifg auf diese spezielle auth.user Datenbank zu bekommen oder sollte ich mit einer Public DB arbeiten und versuchen, das Authentifizierungssystem selbst in die Hand zu nehmen? Was wären sonst optimale Ansätze für eine API zwischen der Flutter App und der bereits bestehenden Laravel Webseite?
Wir sind beide noch sehr frisch im Thema und deswegen noch ein wenig unbeholfen.
Danke im Voraus! :)
1 Antwort
(...) dass Supabase eine eigene Datenbank für die User führt, (...)
Das ist nicht ungewöhnlich. Eine Separation kann für mehr Flexibilität und Sicherheit sorgen.
(...) Authentifizierungsfunktionen, allerdings weiß ich nicht, ob er diese mithilfe von Laravel auslesen bzw. beschreiben kann. (...)
Es gibt eine (inoffizielle) PHP-Client-Bibliothek, die offensichtlich auch noch regelmäßig gewartet wird: https://github.com/rafaelwendel/phpsupabase.
(...) oder sollte ich mit einer Public DB arbeiten (...)
Die Datenbank sollte (vor allem wenn sie sensible Daten speichert) in keinem Fall frei von außen erreichbar sein.
Alternativ zu einem Service wie Supabase, Firebase, o.ä. könnte der Laravel-Anwendung eine Verbindung zu einem (vor dem Zugriff anderer Systeme geschützten) Datenbankserver gestattet werden. Die Laravel-Anwendung sollte daraufhin auch Endpunkte definieren (also eine API), über die sich deine Flutter-Anwendung mittels HTTP(S)-Requests die benötigten Daten zusenden lassen kann. Laravel bietet für den Bau von APIs auch schon ein paar nützliche Features an, wie z.B. Sanctum. Grundsätzlich findet man schnell Webartikel, die sich dem Bau einer API mit Laravel widmen (z.B. hier).
Eine direkte Verbindung zwischen Flutter-App und Datenbankserver wäre keine gute Lösung, da dafür die Verbindungsdaten der Datenbank an den Client (die App) übergeben werden müssten.
Vielen Dank für diese super ausführliche Antwort! :) Werde die besagte PHP Bibliothek mal weiterleiten.