رفتن به محتوا
سارویتوسعه‌دهندگان
مستندات/ابر ساروی

ورود کاربران برنامه

ثبت‌نام، ورود و نشست مخصوص برنامهٔ شما.

هدرهای برنامه

از GET /v1/cloud/{id}/connection دو مقدار url و public_key را بگیرید. نمونه‌های زیر از fetch و requests استفاده می‌کنند. Starter قرارداد Sarovi دارد و به SDK Supabase متصل نمی‌شود. فقط ابر اختصاصی آدرس و SDK مستقیم Supabase دارد.

javascript
const CLOUD_URL = "https://api.sarovi.ir/api/cloud-runtime/CLOUD_ID";
const APP_KEY = "scpub_YOUR_APP_KEY";
let sessionToken = "";
async function cloud(path, method = "GET", body) {
  const response = await fetch(CLOUD_URL + path, {
    method,
    headers: { apikey: APP_KEY, "Content-Type": "application/json",
      ...(sessionToken ? { Authorization: `Bearer ${sessionToken}` } : {}) },
    ...(body === undefined ? {} : { body: JSON.stringify(body) })
  });
  const result = await response.json();
  if (!response.ok) throw new Error(result.error?.code || "Cloud request failed");
  return result;
}
const result = await cloud("/auth/signup", "POST", {
  email: "person@example.com", password: "A-long-unique-password"
});
sessionToken = result.access_token;
console.log(await cloud("/auth/user"));
python
# pip install requests
import os, requests
CLOUD_URL = "https://api.sarovi.ir/api/cloud-runtime/CLOUD_ID"
APP_KEY = os.environ["SAROVI_CLOUD_APP_KEY"]
session_token = ""
def cloud(path, method="GET", body=None):
    headers = {"apikey": APP_KEY}
    if session_token:
        headers["Authorization"] = f"Bearer {session_token}"
    response = requests.request(method, CLOUD_URL + path,
        headers=headers, json=body, timeout=30)
    response.raise_for_status()
    return response.json()
result = cloud("/auth/login", "POST", {
    "email": "person@example.com", "password": os.environ["APP_PASSWORD"]
})
session_token = result["access_token"]
print(cloud("/auth/user"))

مسیرهای نشست

POST /auth/signup ثبت‌نام و نشست می‌سازد؛ POST /auth/login همان بدنه را برای ورود می‌گیرد. رمز باید ۱۰ تا ۱۲۸ نویسه باشد. توکن ۲۴ ساعت معتبر است و تمدید خودکار ندارد. POST /auth/logout توکن جاری را باطل می‌کند. GET /auth/user فقط شناسه، ایمیل و تاریخ ساخت کاربر واردشده را برمی‌گرداند. کلید عمومی برای دریافت اطلاعات کاربر کافی نیست.

ایمیل و نگه‌داری توکن

Starter ایمیل تأیید یا لینک بازیابی رمز نمی‌فرستد؛ email_verified:false است. برنامه نباید آن را هویت ایمیل تأییدشده تلقی کند. توکن نشست را در حافظه نگه دارید یا ورود را پشت سرور برنامه با کوکی HttpOnly پیاده‌سازی کنید. رمز، توکن و کلید مدیریت را در گزارش‌ها ذخیره نکنید. برای فراموشی رمز در این نسخه جریان خودکار ارائه نشده است.

تنظیمات مدیر

GET /v1/cloud/{id}/auth تنظیمات و کاربران همین ابر را نشان می‌دهد. PATCH همان مسیر با site_url و disable_signup ثبت‌نام جدید را می‌بندد یا باز می‌کند. این تغییر نشست‌های قبلی را باطل نمی‌کند. site_url برای ثبت آدرس محصول است و در Starter پیام ایمیل یا redirect تولید نمی‌کند. CORS درخواست‌های دارای کلید و توکن را از برنامهٔ شما می‌پذیرد؛ اجازهٔ خواندن داده در سرور کنترل می‌شود.

قرارداد API 1.6.0 · تاریخچهٔ تغییرات