בקוד ה-frontend שלך, הלקוח כבר מיובא וזמין בתור base44.
import { base44 } from "@/api/base44Client";// The client is pre-configured and ready to useconst 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 מאוחסנות על-ידי Base44, צור את הלקוח מהבקשה הנכנסת. Base44 מזריקה את כותרות האימות הדרושות אוטומטית.
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, });});
import { createClient } from "@base44/sdk";// Create a client for your Base44 appconst 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();
אמת משתמשים עם דוא”ל וסיסמה או דרך ספקים חברתיים. הלקוח מחיל אוטומטית את האסימון על בקשות עוקבות. אימות חברתי זמין עבור Google, Microsoft, Facebook ו-Apple באמצעות 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 permissionsconst userOrders = await base44.entities.Orders.list();
כברירת מחדל, הלקוח פועל עם הרשאות ברמת משתמש, מגביל את הגישה למה שהמשתמש הנוכחי יכול לראות ולעשות. תפקיד ה-service מספק הרשאות מורחבות לפעולות backend וזמין רק בפונקציות backend מאוחסנות על-ידי Base44.
אימות תפקיד service זמין רק בפונקציות backend מאוחסנות על-ידי
Base44. backends חיצוניים אינם יכולים להשתמש בהרשאות תפקיד service.
לקוח עם אימות תפקיד service מאפשר לקוד backend:
לגשת לנתונים ופעולות עם אותן הרשאות כמו admin האפליקציה שלך.
כדי להשתמש באימות תפקיד service, גש למודולים דרך base44.asServiceRole במקום ישירות בלקוח. לדוגמה, base44.asServiceRole.entities.Task.list() פועל עם הרשאות admin, בעוד ש-base44.entities.Task.list() משתמש בהרשאות המשתמש הנוכחי.בעת שימוש ב-createClientFromRequest() בפונקציית backend, תפקיד ה-service זמין אוטומטית:
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 });});