احراز هویت
دسترسی API خود را با رمزینههای حامل JWT، ورود اجتماعی OAuth2، کلیدگذر، پیوند جادویی و احراز هویت دوعاملی ایمن کنید. راهنمای کامل جریان احراز هویت OrbNET.
احراز هویت
هر درخواست API را با احراز هویت استاندارد صنعتی ایمن کنید. OrbNET از رمزینههای حامل JWT، ورود اجتماعی OAuth2، کلیدگذر، پیوند جادویی، احراز هویت دوعاملی و کلیدهای API پشتیبانی میکند و برای هر یکپارچگی امنیتی انعطافپذیر و در تراز تولید میدهد.
نمای کلی روشهای احراز هویت
OrbNET چند راهبرد احراز هویت فراهم میکند. همانی را برگزینید که با معماری برنامه و الزامات امنیتی شما جور است.
رمزینههای حامل JWT
روش اصلی احراز هویت. ایمیل و گذرواژه را با جفتی از رمزینهٔ دسترسی و رمزینهٔ تازهسازی مبادله کنید. رمزینههای دسترسی پس از ۲۴ ساعت منقضی میشوند و با رمزینهٔ تازهسازی بیصدا تمدید میشوند.
ورود اجتماعی OAuth2
بگذارید کاربران با حساب موجود گوگل یا اپل خود احراز هویت شوند. مبادلهٔ رمزینه همان جفت JWT را برمیگرداند و تجربهٔ ورودی روان بدون مدیریت گذرواژه میدهد.
کلیدگذر / WebAuthn
احراز هویت بدون گذرواژه با کلیدهای سختافزاری FIDO2 یا زیستسنجی سکو. امنترین گزینه، مقاوم در برابر فیشینگ و حملهٔ انباشت گواهی.
پیوندهای جادویی
پیوند ورود یکبارمصرفی به ایمیل کاربر بفرستید. نیازی به گذرواژه نیست. برای آغاز کار کماصطکاک و الگوهای دسترسی کمتکرار ایدهآل است.
احراز هویت دوعاملی
با کدهای TOTP از اپهایی مانند Google Authenticator یا Authy لایهٔ امنیتی دومی بیفزایید. با هر روش اصلی احراز هویت ترکیبشدنی است.
احراز هویت با کلید API
کلیدهای ایستای API برای یکپارچگی سرور به سرور با OrbGuard Labs. از داشبورد ساخته میشوند و از راه سرآیند X-API-Key داده میشوند.
جریان احراز هویت
برای احراز هویت و فرستادن نخستین درخواست محافظتشدهٔ API این گامها را دنبال کنید.
گواهیها را بگیرید
حساب تازهای بسازید یا از گواهیهای موجود استفاده کنید. میتوانید با ایمیل و گذرواژه ثبتنام کنید، یا برای مسیری سریعتر از ورود اجتماعی OAuth2 استفاده کنید.
احراز هویت کنید
نقطهٔ پایانی ورود را با گواهیهای خود فراخوانی کنید. سرور رمزینهٔ دسترسی JWT و رمزینهٔ تازهسازی برمیگرداند.
رمزینه را در درخواستها بگنجانید
در هر درخواست محافظتشدهٔ API رمزینهٔ دسترسی را بهعنوان رمزینهٔ حامل در سرآیند Authorization بدهید.
پس از انقضا تازه کنید
وقتی رمزینهٔ دسترسی پس از ۲۴ ساعت منقضی شد، با رمزینهٔ تازهسازی جفت رمزینهٔ تازهای بدون احراز هویت دوباره بگیرید.
احراز هویت با رمزینهٔ حامل JWT
روش اصلی احراز هویت برای همهٔ درخواستهای API اوربنت. گواهیهای کاربر را با رمزینهٔ دسترسی JWT و رمزینهٔ تازهسازی مبادله کنید.
ورود
/api/v1/auth/loginبا ایمیل و گذرواژه احراز هویت کنید تا رمزینههای دسترسی و تازهسازی JWT بگیرید.
| پارامتر | نوع | الزامی | توضیحات |
|---|---|---|---|
email | string | الزامی | نشانی ایمیل ثبتشدهٔ کاربر. |
password | string | الزامی | گذرواژهٔ کاربر. کمینه ۸ نویسه. |
curl -X POST https://api.orbai.world/api/v1/auth/login \
-H "Content-Type: application/json" \
-d '{
"email": "user@example.com",
"password": "your_password"
}'{
"success": true,
"data": {
"token": "eyJhbGciOiJIUzI1NiIs...",
"refreshToken": "dGhpcyBpcyBhIHJlZnJlc2...",
"expiresAt": "2026-02-08T12:00:00Z",
"user": {
"id": "usr_abc123",
"email": "user@example.com",
"role": "user"
}
}
}{
"success": false,
"error": {
"code": "INVALID_CREDENTIALS",
"message": "The email or password you entered is incorrect."
}
}{
"success": false,
"error": {
"code": "RATE_LIMITED",
"message": "Too many login attempts. Please try again later.",
"details": {
"retryAfter": 300
}
}
}استفاده از رمزینهٔ دسترسی
پس از احراز هویت، رمزینهٔ دسترسی JWT را در سرآیند Authorization هر درخواست محافظتشده بگنجانید.
curl https://api.orbai.world/api/v1/users/me \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."امنیت رمزینه
هرگز رمزینههای دسترسی خود را در کد سمت کلاینت، نشانیها یا کنترل نسخه فاش نکنید. رمزینهها را در کوکیهای HTTP-only، ذخیرهسازی امن محلی یا کیف کلید سکوی خود نگه دارید. رمزینههایی که در نشانی یا پارامتر پرسوجو داده شوند رد میشوند.
تازهسازی رمزینهها
رمزینههای دسترسی پس از ۲۴ ساعت منقضی میشوند. با رمزینهٔ تازهسازی رمزینهٔ دسترسی تازهای بگیرید بیآنکه کاربر ناچار شود دوباره گواهیهایش را وارد کند.
/api/v1/auth/refreshرمزینهٔ تازهسازی معتبر را با جفت تازهای از رمزینهٔ دسترسی و تازهسازی مبادله کنید.
| پارامتر | نوع | الزامی | توضیحات |
|---|---|---|---|
refreshToken | string | الزامی | رمزینهٔ تازهسازی دریافتشده از پاسخ ورود یا تازهسازی پیشین. |
curl -X POST https://api.orbai.world/api/v1/auth/refresh \
-H "Content-Type: application/json" \
-d '{
"refreshToken": "dGhpcyBpcyBhIHJlZnJlc2..."
}'{
"success": true,
"data": {
"token": "eyJhbGciOiJIUzI1NiIs...(new)",
"refreshToken": "dGhpcyBpcyBhIG5ldyBy...(new)",
"expiresAt": "2026-02-09T12:00:00Z",
"user": {
"id": "usr_abc123",
"email": "user@example.com",
"role": "user"
}
}
}{
"success": false,
"error": {
"code": "INVALID_REFRESH_TOKEN",
"message": "The refresh token is expired or has been revoked. Please log in again."
}
}چرخش رمزینهٔ تازهسازی
هر فراخوان نقطهٔ پایانی تازهسازی، رمزینهٔ تازهسازی تازهای برمیگرداند و قبلی را بیاعتبار میکند. به این چرخش رمزینهٔ تازهسازی میگویند و جلوی حملههای بازپخش رمزینه را میگیرد. همیشه تازهترین رمزینهٔ تازهسازی را نگه دارید و به کار ببرید.
خروج
نشست کنونی را بیاعتبار کنید و رمزینهٔ تازهسازی را باطل کنید.
/api/v1/auth/logoutرمزینههای دسترسی و تازهسازی کنونی را بیاعتبار کنید و نشست کاربر را پایان دهید.
| پارامتر | نوع | الزامی | توضیحات |
|---|---|---|---|
refreshToken | string | الزامی | رمزینهٔ تازهسازیای که باید باطل شود. |
curl -X POST https://api.orbai.world/api/v1/auth/logout \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..." \
-H "Content-Type: application/json" \
-d '{
"refreshToken": "dGhpcyBpcyBhIHJlZnJlc2..."
}'{
"success": true,
"data": {
"message": "Successfully logged out."
}
}ثبتنام کاربر
با ایمیل و گذرواژه حساب تازهای در OrbVPN بسازید. حسابهای تازه پیش از دریافت دسترسی کامل API به تأیید ایمیل نیاز دارند.
/api/v1/auth/registerحساب کاربری تازهای با ایمیل، گذرواژه و نام نمایشی ثبت کنید.
| پارامتر | نوع | الزامی | توضیحات |
|---|---|---|---|
email | string | الزامی | نشانی ایمیل معتبر. نباید از پیش ثبت شده باشد. |
password | string | الزامی | گذرواژه با کمینه ۸ نویسه، شامل حرف بزرگ، حرف کوچک و رقم. |
name | string | الزامی | نام نمایشی کاربر. |
curl -X POST https://api.orbai.world/api/v1/auth/register \
-H "Content-Type: application/json" \
-d '{
"email": "newuser@example.com",
"password": "SecureP@ss123",
"name": "Jane Doe"
}'{
"success": true,
"data": {
"token": "eyJhbGciOiJIUzI1NiIs...",
"refreshToken": "dGhpcyBpcyBhIHJlZnJlc2...",
"expiresAt": "2026-02-08T12:00:00Z",
"user": {
"id": "usr_def456",
"email": "newuser@example.com",
"role": "user"
},
"emailVerificationRequired": true
}
}{
"success": false,
"error": {
"code": "EMAIL_EXISTS",
"message": "An account with this email address already exists."
}
}تأیید ایمیل
پس از ثبتنام، ایمیل تأیید خودکار فرستاده میشود. کاربر باید روی پیوند تأیید بزند یا کد را وارد کند تا حسابش فعال شود. برخی نقاط پایانی محافظتشده تا کامل شدن تأیید ممکن است دادهٔ محدودی برگردانند.
ورود اجتماعی OAuth2
به کاربران امکان دهید با حساب موجود گوگل یا اپل خود احراز هویت شوند. کلاینت رمزینهٔ OAuth را از ارائهدهندهٔ هویت میگیرد، سپس آن را با OrbNET برای جفت رمزینهٔ JWT مبادله میکند.
OAuth گوگل
/api/v1/auth/oauth/googleبا رمزینهٔ شناسایی OAuth2 گوگل احراز هویت کنید.
| پارامتر | نوع | الزامی | توضیحات |
|---|---|---|---|
idToken | string | الزامی | رمزینهٔ شناسایی گوگل که از Google Sign-In روی کلاینت گرفته میشود. |
curl -X POST https://api.orbai.world/api/v1/auth/oauth/google \
-H "Content-Type: application/json" \
-d '{
"idToken": "eyJhbGciOiJSUzI1NiIs...(Google ID token)"
}'{
"success": true,
"data": {
"token": "eyJhbGciOiJIUzI1NiIs...",
"refreshToken": "dGhpcyBpcyBhIHJlZnJlc2...",
"expiresAt": "2026-02-08T12:00:00Z",
"user": {
"id": "usr_ggl789",
"email": "user@gmail.com",
"role": "user"
},
"isNewUser": false
}
}OAuth اپل
/api/v1/auth/oauth/appleبا کد مجوز Apple Sign-In احراز هویت کنید.
| پارامتر | نوع | الزامی | توضیحات |
|---|---|---|---|
authorizationCode | string | الزامی | کد مجوز از Apple Sign-In. |
identityToken | string | الزامی | رمزینهٔ هویت از Apple Sign-In. |
name | string | اختیاری | نام کامل کاربر (تنها در نخستین ورود با اپل داده میشود). |
curl -X POST https://api.orbai.world/api/v1/auth/oauth/apple \
-H "Content-Type: application/json" \
-d '{
"authorizationCode": "c1a2b3d4e5f6...",
"identityToken": "eyJhbGciOiJSUzI1NiIs...",
"name": "Jane Doe"
}'{
"success": true,
"data": {
"token": "eyJhbGciOiJIUzI1NiIs...",
"refreshToken": "dGhpcyBpcyBhIHJlZnJlc2...",
"expiresAt": "2026-02-08T12:00:00Z",
"user": {
"id": "usr_apl012",
"email": "user@privaterelay.appleid.com",
"role": "user"
},
"isNewUser": true
}
}جریان رمزینهٔ OAuth
هر دو نقطهٔ پایانی OAuth گوگل و اپل در نخستین استفاده حساب تازهای در OrbVPN میسازند (با isNewUser: true نشان داده میشود) و ورودهای بعدی را به همان حساب پیوند میزنند. رمزینههای JWT برگشتی دقیقاً مانند رمزینههای ورود با ایمیل و گذرواژه کار میکنند.
کلیدگذر / WebAuthn
احراز هویت بدون گذرواژه با استاندارد FIDO2/WebAuthn. از کلیدهای امنیتی سختافزاری، زیستسنجی سکو (Touch ID، Face ID، Windows Hello) و احراز هویت میاندستگاهی پشتیبانی میکند. این جریان دو رفتوبرگشت میخواهد: فراخوان begin برای گرفتن چالش از سرور، و پس از آن فراخوان finish با چالش امضاشده از احرازکننده.
مقاوم در برابر فیشینگ
کلیدگذرها به دامنهٔ مبدأ گره خوردهاند و روی سایتهای تقلبی قابل استفاده نیستند.
احراز هویت سریع
ورود زیستی با یک ضربه، بدون تایپ گذرواژه یا انتظار برای کد.
بدون راز مشترک
کلیدهای خصوصی هرگز دستگاه احرازکننده را ترک نمیکنند. سرور تنها کلیدهای عمومی را نگه میدارد.
ثبت یک کلیدگذر
گام ۱: آغاز ثبت
/api/v1/auth/passkeys/register/beginچالش ثبت WebAuthn را از سرور درخواست کنید.
curl -X POST https://api.orbai.world/api/v1/auth/passkeys/register/begin \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."{
"success": true,
"data": {
"publicKey": {
"challenge": "dGhpcyBpcyBhIGNoYWxsZW5nZQ...",
"rp": { "name": "OrbVPN", "id": "orbvpn.com" },
"user": {
"id": "dXNyX2FiYzEyMw...",
"name": "user@example.com",
"displayName": "Jane Doe"
},
"pubKeyCredParams": [
{ "type": "public-key", "alg": -7 },
{ "type": "public-key", "alg": -257 }
],
"timeout": 60000,
"attestation": "none",
"authenticatorSelection": {
"residentKey": "preferred",
"userVerification": "preferred"
}
}
}
}گام ۲: پایان ثبت
/api/v1/auth/passkeys/register/finishبا فرستادن گواهی امضاشده از احرازکننده، ثبت کلیدگذر را کامل کنید.
| پارامتر | نوع | الزامی | توضیحات |
|---|---|---|---|
credential | object | الزامی | شیء PublicKeyCredential که navigator.credentials.create() برمیگرداند، سریالشده به JSON. |
curl -X POST https://api.orbai.world/api/v1/auth/passkeys/register/finish \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..." \
-H "Content-Type: application/json" \
-d '{
"credential": {
"id": "a1b2c3d4e5...",
"rawId": "YTFiMmMzZDRl...",
"type": "public-key",
"response": {
"attestationObject": "o2NmbXRk...",
"clientDataJSON": "eyJ0eXBlI..."
}
}
}'{
"success": true,
"data": {
"credentialId": "a1b2c3d4e5...",
"message": "Passkey registered successfully."
}
}احراز هویت با کلیدگذر
گام ۱: آغاز ورود
/api/v1/auth/passkeys/login/beginچالش احراز هویت WebAuthn را درخواست کنید.
| پارامتر | نوع | الزامی | توضیحات |
|---|---|---|---|
email | string | اختیاری | اختیاری. ایمیل کاربر برای باریک کردن انتخاب گواهی. |
curl -X POST https://api.orbai.world/api/v1/auth/passkeys/login/begin \
-H "Content-Type: application/json" \
-d '{
"email": "user@example.com"
}'{
"success": true,
"data": {
"publicKey": {
"challenge": "YW5vdGhlciBjaGFsbGVuZ2U...",
"timeout": 60000,
"rpId": "orbvpn.com",
"allowCredentials": [
{
"type": "public-key",
"id": "a1b2c3d4e5..."
}
],
"userVerification": "preferred"
}
}
}گام ۲: پایان ورود
/api/v1/auth/passkeys/login/finishبا فرستادن ادعای امضاشده، احراز هویت کلیدگذر را کامل کنید.
| پارامتر | نوع | الزامی | توضیحات |
|---|---|---|---|
credential | object | الزامی | شیء PublicKeyCredential که navigator.credentials.get() برمیگرداند، سریالشده به JSON. |
curl -X POST https://api.orbai.world/api/v1/auth/passkeys/login/finish \
-H "Content-Type: application/json" \
-d '{
"credential": {
"id": "a1b2c3d4e5...",
"rawId": "YTFiMmMzZDRl...",
"type": "public-key",
"response": {
"authenticatorData": "SZYN5YgO...",
"clientDataJSON": "eyJ0eXBlI...",
"signature": "MEUCIQC...",
"userHandle": "dXNyX2FiYzEyMw..."
}
}
}'{
"success": true,
"data": {
"token": "eyJhbGciOiJIUzI1NiIs...",
"refreshToken": "dGhpcyBpcyBhIHJlZnJlc2...",
"expiresAt": "2026-02-08T12:00:00Z",
"user": {
"id": "usr_abc123",
"email": "user@example.com",
"role": "user"
}
}
}گواهیهای قابل کشف
اگر در گام آغاز ایمیلی داده نشود، مرورگر همهٔ گواهیهای قابل کشف (کلیدهای مقیم) آن دامنه را نمایش میدهد. این تجربهای واقعاً بدون گذرواژه و بدون نام کاربری را ممکن میکند.
پیوندهای جادویی
پیوند ورود یکبارمصرفی به ایمیل کاربر بفرستید. زدن روی پیوند کاربر را احراز هویت میکند و رمزینههای JWT برمیگرداند. نیازی به گذرواژه نیست.
فرستادن پیوند جادویی
/api/v1/auth/magic-linkپیوند ورود جادویی یکبارمصرفی به نشانی ایمیل مشخصشده بفرستید.
| پارامتر | نوع | الزامی | توضیحات |
|---|---|---|---|
email | string | الزامی | نشانی ایمیلی که پیوند جادویی به آن فرستاده میشود. باید حسابی ثبتشده باشد. |
curl -X POST https://api.orbai.world/api/v1/auth/magic-link \
-H "Content-Type: application/json" \
-d '{
"email": "user@example.com"
}'{
"success": true,
"data": {
"message": "A magic link has been sent to your email address.",
"expiresIn": 600
}
}هشدار امنیتی
پیوندهای جادویی پس از ۱۰ دقیقه منقضی میشوند و تنها یک بار قابل استفادهاند. برای امنیت، API همیشه پاسخ موفق برمیگرداند، فارغ از اینکه ایمیل ثبت شده باشد یا نه، تا جلوی برشماری حسابها گرفته شود.
راستیآزمایی پیوند جادویی
وقتی کاربر روی پیوند جادویی درون ایمیلش میزند، با پارامتر پرسوجوی token به برنامهٔ شما تغییرمسیر داده میشود. این رمزینه را با گواهیهای JWT مبادله کنید.
/api/v1/auth/magic-link/verifyرمزینهٔ پیوند جادویی را راستیآزمایی کنید و گواهیهای JWT برگردانید.
| پارامتر | نوع | الزامی | توضیحات |
|---|---|---|---|
token | string | الزامی | رمزینهٔ یکبارمصرف از پارامتر پرسوجوی نشانی پیوند جادویی. |
curl "https://api.orbai.world/api/v1/auth/magic-link/verify?token=ml_abc123def456..."{
"success": true,
"data": {
"token": "eyJhbGciOiJIUzI1NiIs...",
"refreshToken": "dGhpcyBpcyBhIHJlZnJlc2...",
"expiresAt": "2026-02-08T12:00:00Z",
"user": {
"id": "usr_abc123",
"email": "user@example.com",
"role": "user"
}
}
}{
"success": false,
"error": {
"code": "INVALID_MAGIC_LINK",
"message": "This magic link has expired or has already been used."
}
}احراز هویت دوعاملی (2FA)
با گذرواژههای یکبارمصرف مبتنی بر زمان (TOTP) لایهٔ دوم راستیآزمایی بیفزایید. با اپهای احرازکننده مانند Google Authenticator، Authy و 1Password سازگار است.
فعال کردن احراز هویت دوعاملی
/api/v1/auth/2fa/enableراز TOTP و نشانی تأمین را برای کاربر احراز هویتشده بسازید.
curl -X POST https://api.orbai.world/api/v1/auth/2fa/enable \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."{
"success": true,
"data": {
"secret": "JBSWY3DPEHPK3PXP",
"qrCodeUri": "otpauth://totp/OrbVPN:user@example.com?secret=JBSWY3DPEHPK3PXP&issuer=OrbVPN&algorithm=SHA1&digits=6&period=30",
"recoveryCodes": [
"abc12-def34",
"ghi56-jkl78",
"mno90-pqr12",
"stu34-vwx56",
"yza78-bcd90",
"efg12-hij34",
"klm56-nop78",
"qrs90-tuv12"
]
}
}کدهای بازیابی را نگه دارید
کدهای بازیابی تنها یک بار نشان داده میشوند. به کاربران بگویید آنها را در جایی امن ذخیره کنند. اگر کاربری دسترسی به اپ احرازکننده و کدهای بازیابی خود را از دست بدهد، برای بازپسگیری دسترسی به حسابش باید با پشتیبانی تماس بگیرد.
راستیآزمایی کد دوعاملی
پس از اسکن کد QR، کاربر باید کد TOTP را راستیآزمایی کند تا راهاندازی دوعاملی کامل شود. این نقطهٔ پایانی هنگام ورود با احراز هویت دوعاملی فعال هم به کار میرود.
/api/v1/auth/2fa/verifyکد TOTP را راستیآزمایی کنید تا راهاندازی دوعاملی کامل شود یا چالش ورود دوعاملی پاسخ بگیرد.
| پارامتر | نوع | الزامی | توضیحات |
|---|---|---|---|
code | string | الزامی | کد ۶ رقمی TOTP از اپ احرازکننده. |
curl -X POST https://api.orbai.world/api/v1/auth/2fa/verify \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..." \
-H "Content-Type: application/json" \
-d '{
"code": "123456"
}'{
"success": true,
"data": {
"message": "Two-factor authentication verified successfully.",
"twoFactorEnabled": true
}
}{
"success": false,
"error": {
"code": "INVALID_2FA_CODE",
"message": "The verification code is incorrect or has expired."
}
}غیرفعال کردن احراز هویت دوعاملی
/api/v1/auth/2fa/disableاحراز هویت دوعاملی را برای کاربر کنونی غیرفعال کنید.
| پارامتر | نوع | الزامی | توضیحات |
|---|---|---|---|
code | string | الزامی | کد معتبر ۶ رقمی TOTP برای تأیید این کار. |
password | string | الزامی | گذرواژهٔ کنونی کاربر برای راستیآزمایی افزوده. |
curl -X POST https://api.orbai.world/api/v1/auth/2fa/disable \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..." \
-H "Content-Type: application/json" \
-d '{
"code": "654321",
"password": "your_password"
}'{
"success": true,
"data": {
"message": "Two-factor authentication has been disabled.",
"twoFactorEnabled": false
}
}ورود با احراز هویت دوعاملی فعال
وقتی کاربری با احراز هویت دوعاملی فعال POST /api/v1/auth/login را فراخوانی کند، پاسخ شامل "twoFactorRequired": true و رمزینهای موقت با دامنهٔ محدود خواهد بود. سپس کلاینت باید POST /api/v1/auth/2fa/verify را با آن رمزینه و کد TOTP فراخوانی کند تا رمزینههای کامل دسترسی و تازهسازی را بگیرد.
احراز هویت با کلید API
برای یکپارچگیهای سرور به سرور، بهویژه با API آزمایشگاه OrbGuard، میتوانید بهجای رمزینههای JWT از کلیدهای ایستای API استفاده کنید. کلیدهای API از داشبورد OrbVPN ساخته میشوند و تا وقتی باطل نشوند منقضی نمیگردند.
/api/v1/guard/*نقاط پایانی OrbGuard Labs احراز هویت با کلید API را از راه سرآیند X-API-Key میپذیرند.
curl https://guard.orbai.world/api/v1/intelligence/check \
-H "X-API-Key: orbk_live_abc123def456ghi789..." \
-H "Content-Type: application/json" \
-d '{
"indicator": "suspicious-domain.com",
"type": "domain"
}'امنیت کلید API
کلیدهای API همهٔ مجوزهای حسابی را که ساختهشان دارند. هرگز کلیدهای API را در کد سمت کلاینت، اپهای همراه یا مخازن عمومی جاسازی نکنید. برای ذخیرهسازی سمت سرور از متغیرهای محیطی یا مدیر رازها استفاده کنید. کلیدها را مرتب از داشبورد OrbVPN بچرخانید.
بهترین شیوههای امنیتی
همهجا از HTTPS استفاده کنید
همهٔ درخواستهای API باید HTTPS باشند. درخواستهای HTTP رد میشوند. برای همهٔ اتصالها به سکوی OrbNET نسخهٔ TLS 1.2 یا بالاتر لازم است.
رمزینهها را امن نگه دارید
از کوکیهای HTTP-only، کیف کلید سکو یا ذخیرهسازی رمزنگاریشده استفاده کنید. هرگز رمزینهها را در localStorage اپهای وب نگه ندارید و در نشانیها جاسازی نکنید.
تازهسازی رمزینه را پیاده کنید
منطق تازهسازی خودکار رمزینه را در کلاینت خود بسازید. با دریافت ۴۰۱، پیش از خواستن احراز هویت دوباره از کاربر، تازهسازی بیصدا را امتحان کنید.
برای حسابهای حساس احراز هویت دوعاملی بگذارید
برای حسابهای مدیر و کاربران با دسترسی بالا احراز هویت دوعاملی را الزامی کنید. این کار ریسک تصاحب حساب را بهشدت کم میکند.
کلیدهای API را بچرخانید
کلیدهای API را بهصورت دورهای از داشبورد بچرخانید. هر کلیدی را که ممکن است فاش شده باشد باطل کنید. برای توسعه و تولید کلیدهای جداگانه به کار ببرید.
مراقب ناهنجاریها باشید
مراقب الگوهای غیرعادی احراز هویت باشید، مانند ورود از موقعیتهای تازه، تازهسازیهای پرشتاب رمزینه یا نشستهای همزمان از مناطق گوناگون.
مرجع خطاها
کدهای رایج خطای احراز هویت و شیوهٔ رسیدگی به آنها.
INVALID_CREDENTIALS
ایمیل یا گذرواژه نادرست است. از کاربر بخواهید گواهیهای خود را بررسی کند و دوباره تلاش کند.
TOKEN_EXPIRED
رمزینهٔ دسترسی منقضی شده است. با رمزینهٔ تازهسازی رمزینهٔ دسترسی تازهای بگیرید.
INVALID_REFRESH_TOKEN
رمزینهٔ تازهسازی منقضی یا باطل شده است. کاربر باید دوباره با گواهیهای خود وارد شود.
TWO_FACTOR_REQUIRED
این حساب احراز هویت دوعاملی فعال دارد. برای کامل کردن ورود، کد TOTP را به نقطهٔ پایانی راستیآزمایی دوعاملی بفرستید.
EMAIL_NOT_VERIFIED
حساب وجود دارد اما ایمیل تأیید نشده است. کاربر را به جریان تأیید هدایت کنید.
RATE_LIMITED
تلاشهای بیشازحد برای احراز هویت. پیش از تلاش دوباره مقدار retryAfter در پاسخ خطا را رعایت کنید.
ACCOUNT_LOCKED
این حساب به دلیل فعالیت مشکوک موقتاً قفل شده است. با پشتیبانی تماس بگیرید یا منتظر پایان دورهٔ قفل بمانید.
INVALID_API_KEY
کلید API دادهشده نامعتبر، منقضی یا باطل است. کلید تازهای از داشبورد OrbVPN بسازید.
کمک لازم دارید؟
اگر با مشکل احراز هویت روبهرو هستید، راهنمای عیبیابی ما را ببینید یا با پشتیبانی توسعهدهندگان تماس بگیرید. برای مشکلهای ویژهٔ حساب، به درگاه پشتیبانی سر بزنید.
ساختن با OrbNET را آغاز کنید
اکنون آمادهٔ احراز هویت و فرستادن درخواستهای امن API هستید. مرجع کامل API اوربنت را کاوش کنید تا اتصالهای VPN، کاربران، اشتراکها و بیشتر را مدیریت کنید.