Zum Hauptinhalt springen
Der Base44 Client ist deine Schnittstelle zum Base44 SDK. Er bietet Zugriff auf alle SDK-Module und verwaltet Authentifizierungstoken automatisch. Du kannst den Client auf zwei Arten verwenden:
  • In Base44-Apps: Der Client wird automatisch erstellt und für dich konfiguriert.
  • Externe Apps: Erstelle den Client selbst, um Base44 als Backend für deine eigene App zu verwenden.

In Base44-Apps

Wenn Base44 deine App generiert, ist der SDK-Client vorkonfiguriert und einsatzbereit.

Frontend-Client

In deinem Frontend-Code ist der Client bereits importiert und als base44 verfügbar.
import { base44 } from "@/api/base44Client";

// Der Client ist vorkonfiguriert und einsatzbereit
const user = await base44.auth.me();
const userTasks = await base44.entities.Task.filter({
  assignedTo: user.id,
  status: "pending",
});

console.log(`${user.name} has ${userTasks.length} pending tasks`);

Backend-Funktionen

In Base44-gehosteten Backend-Funktionen erstellst du den Client aus der eingehenden Anfrage. Base44 fügt die notwendigen Authentifizierungs-Header automatisch hinzu.
import { createClientFromRequest } from "npm:@base44/sdk";

Deno.serve(async (req) => {
  const base44 = createClientFromRequest(req);

  // Den aktuellen Nutzer und seine Daten abrufen
  const user = await base44.auth.me();
  const userTasks = await base44.entities.Task.filter({
    assignedTo: user.id,
    status: "pending",
  });

  return Response.json({
    user: user.name,
    pendingTasks: userTasks.length,
  });
});

Externe Apps

Wenn du deine eigene App entwickelst, die Base44 als Backend verwendet, erstellst und konfigurierst du den Client selbst mit createClient().

Installation

Installiere das SDK über npm:
npm install @base44/sdk

Client erstellen

Erstelle einen Client, indem du deine App-ID angibst, die du in der URL des Base44-Editors findest:
https://app.base44.com/apps/<your-app-id>/editor/...
import { createClient } from "@base44/sdk";

// Einen Client für deine Base44-App erstellen
const base44 = createClient({
  appId: "your-app-id", // Diese findest du in der Base44-Editor-URL
});

// Öffentliche Daten lesen (anonymer Zugriff)
const products = await base44.entities.Products.list();

Nutzer-Authentifizierung

Authentifiziere Nutzer mit E-Mail und Passwort oder über Social-Provider. Der Client wendet das Token automatisch auf nachfolgende Anfragen an. Social-Authentifizierung ist für Google, Microsoft, Facebook und Apple mit loginWithProvider() verfügbar.
import { createClient } from "@base44/sdk";

const base44 = createClient({
  appId: "your-app-id",
});

// Einen Nutzer authentifizieren (Token wird automatisch gesetzt)
await base44.auth.loginViaEmailPassword("user@example.com", "password");

// Jetzt verwenden Operationen die Berechtigungen des authentifizierten Nutzers
const userOrders = await base44.entities.Orders.list();

Service Role

Standardmäßig arbeitet der Client mit Berechtigungen auf Nutzerebene und beschränkt den Zugriff auf das, was der aktuelle Nutzer sehen und tun kann. Die Service Role bietet erweiterte Berechtigungen für Backend-Operationen und ist nur in Base44-gehosteten Backend-Funktionen verfügbar.
Service-Role-Authentifizierung ist nur in Base44-gehosteten Backend-Funktionen verfügbar. Externe Backends können keine Service-Role-Berechtigungen verwenden.
Ein Client mit Service-Role-Authentifizierung erlaubt Backend-Code:
  • Auf Daten und Operationen mit denselben Berechtigungen wie der Admin deiner App zuzugreifen.
  • Admin-Module wie das connectors-Modul zu verwenden.
Um Service-Role-Authentifizierung zu verwenden, greife auf Module über base44.asServiceRole zu, anstatt direkt auf den Client. Zum Beispiel arbeitet base44.asServiceRole.entities.Task.list() mit Admin-Berechtigungen, während base44.entities.Task.list() die Berechtigungen des aktuellen Nutzers verwendet. Bei Verwendung von createClientFromRequest() in einer Backend-Funktion ist die Service Role automatisch verfügbar:
import { createClientFromRequest } from "npm:@base44/sdk";

Deno.serve(async (req) => {
  const base44 = createClientFromRequest(req);

  // Auf alle Daten mit Admin-Berechtigungen zugreifen
  const allOrders = await base44.asServiceRole.entities.Orders.list();

  return Response.json({ orders: allOrders });
});

Mehr erfahren

createClient()

Vollständige API-Referenz

createClientFromRequest()

Backend-Client-Erstellung
Diese Seite wurde mit KI übersetzt. Für die genauesten und aktuellsten Informationen siehe die englische Version.