مستنداتمرجع APIاحراز هویت
احراز هویت

API احراز هویت

نحوه احراز هویت با API BotLaunch با استفاده از توکن‌های JWT را بیاموزید. درخواست‌های خود را ایمن کنید و دسترسی به منابع خود را مدیریت کنید.

توکن‌های JWT

احراز هویت بدون حالت و امن با استفاده از JSON Web Tokens.

انقضای توکن

توکن‌های دسترسی در ۱ ساعت و توکن‌های تازه‌سازی در ۷ روز منقضی می‌شوند.

تازه‌سازی خودکار

از توکن‌های تازه‌سازی برای دریافت توکن‌های دسترسی جدید به صورت یکپارچه استفاده کنید.

جریان احراز هویت

این مراحل را برای احراز هویت و ارسال درخواست‌های امن API دنبال کنید.

1

ورود

دریافت توکن‌ها با اعتبارنامه‌ها

2

ذخیره توکن‌ها

ذخیره امن هر دو توکن

3

ارسال درخواست‌ها

درج توکن در هدرها

4

تازه‌سازی

دریافت توکن جدید پس از انقضا

نقاط پایانی احراز هویت

POST/api/auth/login

احراز هویت کاربر و دریافت توکن‌های دسترسی و تازه‌سازی.

Request Body

FieldTypeRequiredDescription
emailstringUser's email address
passwordstringUser's password

Example Request

curl -X POST "https://api.botlaunch.io/api/auth/login" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "user@example.com",
    "password": "your-secure-password"
  }'
bash

Example Response

{
  "data": {
    "accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
    "refreshToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
    "expiresIn": 3600,
    "user": {
      "id": "usr_abc123",
      "email": "user@example.com",
      "role": "CLIENT_OWNER"
    }
  },
  "message": "Login successful"
}
json
POST/api/auth/register

ایجاد حساب کاربری و سازمان جدید.

Request Body

FieldTypeRequiredDescription
emailstringValid email address
passwordstringMin 8 chars, 1 uppercase, 1 number
namestringUser's full name
organizationNamestringOptionalOrganization name

Example Request

curl -X POST "https://api.botlaunch.io/api/auth/register" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "newuser@example.com",
    "password": "SecureP@ssw0rd!",
    "name": "John Doe",
    "organizationName": "My Company"
  }'
bash
POST/api/auth/refresh

تبدیل توکن تازه‌سازی به توکن دسترسی جدید.

Example Request

curl -X POST "https://api.botlaunch.io/api/auth/refresh" \
  -H "Content-Type: application/json" \
  -d '{
    "refreshToken": "your-refresh-token"
  }'
bash

چرخش توکن

هر درخواست تازه‌سازی یک توکن تازه‌سازی جدید برمی‌گرداند. آخرین توکن تازه‌سازی را ذخیره کرده و برای درخواست‌های بعدی استفاده کنید.

POST/api/auth/logout

باطل کردن نشست فعلی و لغو توکن‌ها.

Example Request

curl -X POST "https://api.botlaunch.io/api/auth/logout" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json"
bash

استفاده از توکن‌های دسترسی

توکن دسترسی خود را در هدر Authorization برای تمام درخواست‌های API قرار دهید.

// Include the access token in all API requests
const response = await fetch("https://api.botlaunch.io/api/bots", {
  headers: {
    "Authorization": "Bearer eyJhbGciOiJIUzI1NiIs...",
    "x-organization-id": "org_xyz789",
    "Content-Type": "application/json"
  }
});
javascript

هدرهای الزامی

AuthorizationBearer token
x-organization-idOrganization ID
Content-Typeapplication/json

بهترین شیوه‌های امنیتی

  • توکن‌ها را به صورت امن ذخیره کنید (هرگز در localStorage برای وب)
  • از HTTPS برای تمام درخواست‌های API استفاده کنید
  • تازه‌سازی توکن را قبل از انقضا پیاده‌سازی کنید
  • توکن‌ها را هنگام خروج یا رویدادهای امنیتی باطل کنید

خطاهای احراز هویت

خطاهای رایج احراز هویت و نحوه رسیدگی به آن‌ها.

StatusErrorDescriptionSolution
401UnauthorizedMissing or invalid tokenCheck Authorization header
401Token ExpiredAccess token has expiredUse refresh token to get new access token
403ForbiddenInsufficient permissionsCheck user role and organization access
429Too Many RequestsLogin rate limit exceededWait and retry after cooldown
400Invalid CredentialsWrong email or passwordVerify credentials and try again