Passer au contenu principal
Le client Base44 est votre interface avec le SDK Base44. Il fournit l’accès à tous les modules du SDK et gère automatiquement les jetons d’authentification. Vous pouvez utiliser le client de deux manières :
  • À l’intérieur des apps Base44 : Le client est créé et configuré automatiquement pour vous.
  • Apps externes : Créez le client vous-même pour utiliser Base44 comme backend pour votre propre app.

À l’intérieur des apps Base44

Lorsque Base44 génère votre app, le client SDK est pré-configuré et prêt à l’emploi.

Client frontend

Dans votre code frontend, le client est déjà importé et disponible en tant que base44.
import { base44 } from "@/api/base44Client";

// The client is pre-configured and ready to use
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`);

Fonctions backend

Dans les fonctions backend hébergées par Base44, créez le client à partir de la requête entrante. Base44 injecte automatiquement les en-têtes d’authentification nécessaires.
import { createClientFromRequest } from "npm:@base44/sdk";

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

  // Get the current user and their data
  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,
  });
});

Apps externes

Lors de la création de votre propre app qui utilise Base44 comme backend, créez et configurez le client vous-même à l’aide de createClient().

Installation

Installez le SDK via npm :
npm install @base44/sdk

Créer le client

Créez un client en fournissant votre ID d’app, que vous pouvez trouver dans l’URL de l’éditeur Base44 :
https://app.base44.com/apps/<your-app-id>/editor/...
import { createClient } from "@base44/sdk";

// Create a client for your Base44 app
const base44 = createClient({
  appId: "your-app-id", // Find this in the Base44 editor URL
});

// Read public data (anonymous access)
const products = await base44.entities.Products.list();

Authentification utilisateur

Authentifiez les utilisateurs avec un e-mail et un mot de passe ou via des fournisseurs sociaux. Le client applique automatiquement le jeton aux requêtes ultérieures. L’authentification sociale est disponible pour Google, Microsoft, Facebook et Apple à l’aide de loginWithProvider().
import { createClient } from "@base44/sdk";

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

// Authenticate a user (token is automatically set)
await base44.auth.loginViaEmailPassword("user@example.com", "password");

// Now operations use the authenticated user's permissions
const userOrders = await base44.entities.Orders.list();

Service role

Par défaut, le client fonctionne avec des permissions de niveau utilisateur, limitant l’accès à ce que l’utilisateur actuel peut voir et faire. Le service role fournit des permissions élevées pour les opérations backend et est uniquement disponible dans les fonctions backend hébergées par Base44.
L’authentification service role est uniquement disponible dans les fonctions backend hébergées par Base44. Les backends externes ne peuvent pas utiliser les permissions service role.
Un client avec authentification service role permet au code backend de :
  • Accéder aux données et opérations avec les mêmes permissions que l’admin de votre app.
  • Utiliser des modules admin comme le module connectors.
Pour utiliser l’authentification service role, accédez aux modules via base44.asServiceRole au lieu de directement sur le client. Par exemple, base44.asServiceRole.entities.Task.list() fonctionne avec les permissions admin, tandis que base44.entities.Task.list() utilise les permissions de l’utilisateur actuel. Lors de l’utilisation de createClientFromRequest() dans une fonction backend, le service role est automatiquement disponible :
import { createClientFromRequest } from "npm:@base44/sdk";

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

  // Access all data with admin-level permissions
  const allOrders = await base44.asServiceRole.entities.Orders.list();

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

Voir plus

createClient()

Référence API complète

createClientFromRequest()

Création de client backend
Cette page a été traduite à l’aide de l’IA. Pour les informations les plus précises et à jour, consultez la version anglaise.