GH GambleHub

اتصال OAuth2/OpenID در هسته

OIDC over OAuth2 یک روش استاندارد برای اثبات کاربر/مشتری است و دسترسی API کوتاه مدت را فراهم می کند. در هسته پلت فرم، آن را تبدیل به یک قابلیت مرکزی: ثبت نام تنها برای مشتریان، اپراتورها و خدمات ؛ حداقل امتیازات ؛ ریسک قابل اندازه گیری ؛ انطباق با مقررات منطقه ای و صدور مجوز.

1) اهداف و اصول

جداسازی «استقرار در مقابل فعال»: کد را به طور جداگانه رول کنید، دسترسی را با پرچم ها/سیاست ها فعال کنید.
نشانه های کوتاه مدت + به روز رسانی امن: کاهش آسیب از نشت.
چند مستاجر/منطقه: تمام مصنوعات برچسب «مستاجر/منطقه/مجوز».
سیاست های بالای نشانه ها: راه حل ها توسط PDP (RBAC/ABAC)، PEP در دروازه/خدمات ساخته شده است.
حفاظت از لینک: TLS1. 2 +، mTLS/DPoP در صورت امکان، CORS/CSRF دقیق.
قابلیت مشاهده و حسابرسی: دید از طریق جریان، توسط مشتری، توسط منطقه.

2) جریان و زمانی که آنها را اعمال کنید

کد مجوز + PKCE (SPA/موبایل/وب) - به طور پیش فرض برای ورود کاربر.
مجوز دستگاه (کنسول/تلویزیون/CLI) - زمانی که هیچ مرورگر وجود دارد.
Client Credentials (ماشین به ماشین) - ادغام خدمات بدون کاربر.
تبادل توکن (RFC 8693، OBO) - این سرویس از طرف کاربر عمل می کند.
CIBA/Back-channel (اختیاری) - تأیید اعتبار بدون تغییر مسیر.

افزونههایی که به طور پیشفرض فعال میشوند:
  • PAR (درخواست مجوز تحت فشار) - پارامترهای مجوز بر روی یک کانال سرور امن منتقل می شود.
  • JWT Secured Authorization - پارامترهای درخواست امضا/رمزگذاری می شوند.
  • JARM - پاسخ مجوز محافظت شده (JWT)، مقاوم در برابر spoofing.
  • RAR (درخواست مجوز غنی) - درخواست حقوق دسترسی غنی (مجوزهای دقیق).

3) نشانه ها و تمبر

انواع:
  • ID Token (OIDC) - چه کسی وارد شد (فقط به مشتری/جلو نشان داده می شود).
  • توکن دسترسی (AT) - حق اقدام (عمر کوتاه).
  • تازه کردن رمز (RT) - به روز رسانی AT; فقط در یک محیط قابل اعتماد ذخیره می شود.
توصیه های زمان بندی:
  • AT: 5-15 دقیقه (وب/تلفن همراه)، 2-5 دقیقه (سرویس به سرویس).
  • RT: 7-30 дней (وب/تلفن همراه) چرخش с + تشخیص استفاده مجدد.
  • شناسه: ≤ 5 دقیقه
حداقل تمبر AT (به عنوان مثال):
json
{
"iss":"https://auth. core",
"sub":"user_42",
"aud":["wallet","catalog"],
"exp":1730388600,"iat":1730388000,
"tenant":"brand_eu","region":"EE","licence":"EE-A1",
"scp":["wallet:read","bets:place"],     // scopes
"sid ": "sess _ abcd, ""amr": [" pwd,"" webauthn"] ,//login methods
"act":{"sub":"svc. catalog" }//if OBO
}

امضای: ES256/EdDSA، کلید های عمومی - در JWKS با «بچه» و چرخش.

4) طرح کلی جلسه و خروج

جلسه سمت سرور для وب (کوکی «SameSite = Lax/Strict»، «HttpOnly»، «Secure»).
خروج از کانال برگشت + خروج از کانال جلو (OIDC) - خاتمه همزمان همه مشتریان.
گام به گام MFA: با اقدامات حساس - چک مکرر ('acr' افزایش می یابد).
ابطال و خودآزمایی: بلافاصله RT/AT را با حادثه غیرفعال کنید.

5) امنیت مشتری

وب/SPA: کد مجوز + PKCE، بدون ضمنی ؛ CORS سخت/محتوا امنیت سیاست.
موبایل: مرورگر سیستم (AppAuth)، بررسی یکپارچگی (تأیید برنامه/DeviceCheck)، ذخیره سازی RT امن.
دسکتاپ/CLI/تلویزیون: جریان دستگاه ؛ فروشگاه RT در فروشگاه های مخفی سیستم عامل.
DPoP یا mTLS-bound tokens برای اتصال AT به دستگاه/اتصال.

6) خدمات به خدمات

mTLS + خدمات کوتاه JWT (aud-scoped)، مسائل STS با KMS/HSM.
هویت بارهای کاری: SPIFFE/SPIRE.

سیاست محدود به گسترده: به جای آن مخاطبان و حوزه های خاص

7) محدوده ثبت و رضایت

نامگذاری: "منبع: عمل" - "کیف پول: خواندن"، "کیف پول: انتقال"، "شرط: محل"، "KYC: وضعیت. بخوانید.

پیکربندی دید و حساسیت حوزه.
صفحه رضایت از RAR/Scopes مونتاژ شده است. سابقه رضایت را نگه دارید و اجازه می دهد بازخورد.

مثال RAR (کیف پول → ترجمه):
json
{
"type":"wallet. transfer",
"actions":["create"],
"locations":["https://api. core/wallet"],
"datatypes":["payment"],
"resources":[{"wallet_id":"w_123","currency":"EUR","amount_max":1000}]
}

8) ادغام مجوز (PDP/PEP)

PEP در دروازه API اعتبار AT/DPoP/mTLS، غنی زمینه (IP/ASN/منطقه/مستاجر)، باعث می شود یک درخواست به PDP.
PDP (OPA/cedar) سیاست های RBAC/ABAC/ReBAC را اعمال می کند و «ALLOW/DENY» را با توضیح و TTL باز می گرداند.
حافظه پنهان راه حل در PEP (TTL 30-120 s) با ناتوانی توسط رویداد (تغییر نقش/قانون).

9) چند مستاجر و مناطق

تمام نشانه ها و جلسات دارای برچسب «مستاجر/منطقه/مجوز» هستند. PDP انطباق منابع را تایید می کند.
جدا کردن JWKS/کلید و لیست فراخوانی بر اساس منطقه ؛ cross-region - از طریق دروازه های قابل اعتماد.
محدودیت اقامت داده ها: خودآزمایی/لغو در منطقه مبدا انجام می شود.

10) تقویت پروتکل

PAR + JAR + JARM - حفاظت از پارامترهای مجوز و پاسخ.
Nonce/State/PKCE - برای همه مشتریان عمومی.
تحت فشار قرار دادند مجوز دستگاه (در معرض خطر).
JWT Access Tokens با حداقل تمبر + گزینه مبهم برای ادغام خارجی از طریق درون گرایی.
شیوه های FAPI مانند: الگوریتم امضای دقیق، الزامات TLS/redirect_uri/PKCE.

11) خطاها و سیاست بازگشت

پاسخ های استاندارد:
json
{ "error":"invalid_grant", "error_description":"refresh token reused", "error_code":"RT_REUSE" }

Критичные коды: «invalid _ request»، «invalid _ client»، «invalid _ grant»، «invalid _ scope»، «unauthorized _ client»، «access _ denied»، «temporarily _ unavailable».
حد نرخ برای نقاط پایانی حساس («/token »، «/introspect»، «/revoke »)، برگشت نمایی.

12) قابلیت مشاهده و حسابرسی

معیارها:
  • 'auth _ code _ success _ rate', 'pkce _ missing _ rate', 'mfa _ challenge/fail _ rate',
  • 'token _ issuation _ p95 _ ms', 'jwks _ skew _ ms', 'invalid _ token _ rate', 'rt _ reuse _ detected',
  • по API: 'authz _ p95 _ ms', 'deny _ rate {reason}', 'dpop _ mismatch _ rate', 'mtls _ fail _ rate'.

Логи/трейсы: 'client _ id', 'grant _ type', 'kid', 'acr/amr', 'tenant/region', 'decision', 'policy _ version', 'aud', 'scp', 'sid', 'trace _ id'.
حسابرسی (غیر قابل تغییر): صدور نشانه, تشدید حقوق, خروج از رضایت, چرخش کلیدی.

13) مدیریت کلید و چرخش

امضای JWT: KMS/HSM، انتشار JWKS با «بچه».
دوره کلید دوگانه: IdP جدید را امضا می کند، داوران قبل از تعویض قدیمی + جدید را می پذیرند.

چرخش منظم و لغو اضطراری ؛ نظارت بر مصرف «کودک»

14) کتاب های بازی (کتاب های اجرا)

1. سازش کلید امضا

بلافاصله «بچه» را لغو کنید، یک RT/جلسات جدید و غیرفعال را صادر کنید، گزارش حسابرسی.

2. جرم «توکن _ نامعتبر »/رشد 401

عدم هماهنگی ساعت را بررسی کنید، AT منقضی شده، حافظه پنهان JWKS شکسته ؛ به طور موقت تحمل «clock _ skew» را افزایش می دهد.

3. استفاده مجدد از RT

مسدود کردن جلسه ('sid')، اطلاع دادن به کاربر، درخواست گام به گام برای ورود جدید، تحقیق.

4. افت IDp

فعال کردن حالت «مجوز فقط خواندنی»: فعال نگه داشتن ATs تا TTL، محدود کردن ورود به سیستم جدید، مقیاس حافظه پنهان خودآزمایی.

5. حمله به «/توکن »

فیلترهای Rate-limit/bot را تقویت کنید، mTLS/DPoP را برای مشتریان حساس فعال کنید، RT های سرد را به یک بخش جداگانه منتقل کنید.

15) تست

قرارداد: کشف OIDC، JWKS، پیکربندی ارائه دهنده OpenID.
امنیت: PKCE/nonce/دولت مورد نیاز است ؛ مجموعه منفی (جایگزینی 'redirect _ uri'، استفاده مجدد از RT).
قابلیت همکاری: مشتریان (وب/موبایل/CLI)، مناطق مختلف زمانی/محلی.
هرج و مرج: شکست PAR/JARM، تاخیر JWKS، چرخش «بچه» در پرواز.
E2E: MFA، OBO (مبادله توکن)، خروج (کانال جلو/عقب)، لغو/چرخش.

16) نمونه پیکربندی

OIDC/مجوز سرور (قطعه YAML):
yaml issuer: https://auth. core jwks:
rotation_days: 30 alg: ES256 tokens:
access_ttl: 10m refresh_ttl: 14d id_ttl: 5m policies:
require_pkce: true require_par: true require_jarm: true dpop_enabled: true mfa_step_up:
actions: ["wallet:transfer","payout:initiate"]
tenancy:
include_claims: ["tenant","region","licence"]
jwks_per_region: true
ثبت دامنه:
yaml scopes:
wallet: read: {desc: "Reading balance"}
wallet: transfer: {desc: "Transfer of funds," sensitive: true, step_up: true}
bets: place: {desc: "Betting"}
kyc:status. read: {desc: "KYC status"}
roles:
player: { allow: [bets:place] }
support: { allow: [wallet:read, kyc:status. read] }
finance: { allow: [wallet:read, wallet:transfer] }

17) چک لیست پیش فروش

  • PKCE/nonce/دولت را فعال کنید ؛ PAR/JAR/JARM فعال هستند.
  • AT/RT/TTL ID مجموعه ؛ چرخش RT + تشخیص استفاده مجدد را فعال کنید.
  • اتصال DPoP یا mTLS برای مشتریان/عملیات حساس.
  • JWKS C 'بچه ؛ چرخش اتوماتیک و نظارت بر مصرف کلید.
  • رضایت/RAR و ثبت دامنه ؛ افزایش MFA برای فعالیت های حساس
  • PDP/PEP یکپارچه، راه حل های ناتوانی کش.
  • نشانه ها حاوی «مستاجر/منطقه/مجوز» ؛ اقامت مشاهده شد.
  • قابلیت مشاهده: معیارها، سیاههها، ردیابی ؛ هشدار به 'invalid _ token'، 'rt _ reuse'، 'jwks _ skew'.
  • Playbooks در لغو/چرخش/قفل ؛ دکمه خروج اضطراری
  • مجموعه ای از آزمون های E2E/chaos/interop در غرفه منتقل شد.

نتیجه گیری

با تعبیه OAuth2/OIDC به عنوان یک قابلیت پلت فرم، جریان های مجوز قابل پیش بینی، نشانه های مدیریت شده، سیاست های دسترسی یکنواخت و ریسک قابل اندازه گیری را دریافت می کنید. AT های کوتاه محافظت شده توسط RT، چرخش کلید، PAR/JARM/DPoP، رضایت و گام به گام، شیوه هایی است که امنیت را به طور پیش فرض، و تکامل سریع و بدون درد برای تیم ها و شرکا.

Contact

با ما در تماس باشید

برای هرگونه سؤال یا نیاز به پشتیبانی با ما ارتباط بگیرید.ما همیشه آماده کمک هستیم!

شروع یکپارچه‌سازی

ایمیل — اجباری است. تلگرام یا واتساپ — اختیاری.

نام شما اختیاری
ایمیل اختیاری
موضوع اختیاری
پیام اختیاری
Telegram اختیاری
@
اگر تلگرام را وارد کنید — علاوه بر ایمیل، در تلگرام هم پاسخ می‌دهیم.
WhatsApp اختیاری
فرمت: کد کشور و شماره (برای مثال، +98XXXXXXXXXX).

با فشردن این دکمه، با پردازش داده‌های خود موافقت می‌کنید.