Anti Sandboxللمطوّرين

المصادقة

OAuth 2.0 client credentials من خادم إلى خادم. رمز وصول موقّع لعشر دقائق، لا refresh tokens، ولا بيانات عميل في متصفح أبداً.

الحصول على الرمز

POST https://api.antisandbox.com/v1/oauth/token
content-type: application/x-www-form-urlencoded

grant_type=client_credentials&client_id=asc_…&client_secret=ass_…&scope=customers:read agent:run

يُقبل JSON أيضاً، وكذلك HTTP Basic (client_id:client_secret). scope اختياري؛ إن غاب مُنحت كل نطاقات التطبيق. نطاق خارج المسموح = 400 invalid_scope.

{ "access_token": "eyJ…", "token_type": "Bearer", "expires_in": 600, "scope": "customers:read agent:run" }

شكل الرمز

الحقلالقيمة
alg / kid / typES256 · key id from /.well-known/jwks.json · at+jwt
iss · audhttps://api.antisandbox.com · https://api.antisandbox.com/v1
sub · app_id · organization_id · environmentclient_id · معرّف التطبيق · المنظمة · sandbox | live
scope · jti · iat · expالنطاقات مفصولة بمسافة · معرّف فريد · exp = iat + 600

البوابة تتحقق من الخوارزمية بالضبط (لا none ولا HS*)، ومن kid وiss وaud وexp وtyp، ثم تعيد قراءة التطبيق: نشط؟ نفس البيئة والمنظمة؟ العنوان ضمن القائمة المسموحة؟ تعليق التطبيق يسري مع الطلب التالي لا عند انتهاء الرمز.

الأخطاء

HTTPerrorمتى
400invalid_request · unsupported_grant_type · invalid_scopeطلب ناقص، grant غير client_credentials، نطاق خارج المسموح
401invalid_clientعميل مجهول، سر خاطئ، تطبيق معلّق، أو عنوان خارج القائمة — رد واحد عمداً
403invalid_requestوجود ترويسة Origin (متصفح)
429rate_limited٢٠ طلباً في الدقيقة لكل client ولكل IP

التدوير

من شاشة التطبيق: «تدوير السر» يصدر سراً جديداً ويبقي القديم صالحاً لمدة التداخل (٢٤ ساعة افتراضياً، ٧٢ كحد أقصى)، و«إلغاء» ينهيه فوراً. الرموز الصادرة تبقى صالحة حتى انتهائها (≤ ١٠ دقائق). مفتاح التوقيع نفسه يُدوَّر من جهتنا مع إبقاء المفتاح العام السابق في JWKS ساعة — خزّن JWKS حسب kid وأعد جلبه عند kid مجهول.

المتصفح مرفوض: أي طلب إلى /v1 يحمل ترويسة Origin يُجاب بـ 403 browser_credentials_refused، ولا ترويسات CORS على /v1. للدردشة على موقعك استخدم الودجت (مفتاح عام + قائمة أصول + جلسة قصيرة خاصة به).

الاكتشاف

https://api.antisandbox.com/.well-known/oauth-authorization-server   (RFC 8414)
https://api.antisandbox.com/.well-known/oauth-protected-resource     (RFC 9728)
https://api.antisandbox.com/.well-known/jwks.json