GH GambleHub

חבר OAuth2/OpenID בגרעין

OIDC over OAuth2 היא דרך סטנדרטית להוכיח מיהו המשתמש/לקוח ולתת גישה ל-API קצר ימים. בליבת הפלטפורמה, היא הופכת ליכולת מרכזית: שלט יחיד ללקוחות, מפעילים ושירותים; מינימום זכויות; סיכון מדיד; ציות לתקנות האזוריות והרישוי.

1) מטרות ועקרונות

הפרדה "presploye vs. impress': לגלגל את הקוד בנפרד, לאפשר גישה עם דגלים/מדיניות.
אסימונים קצרי ימים + עדכון מאובטח: לצמצם נזקים מדליפות.
רב-דייר/אזור: כל החפצים מכונים ”דייר/אזור/רישיון”.
מדיניות על גבי אסימונים: פתרונות נעשים על ידי PDP (RBAC/ABAC), PEP על שער/שירותים.
הגנה קישור: TLS1. 2 +, mTLS/DPoP במידת האפשר, COURS/CSRF קפדני.
תצפית וביקורת: ראות אחר זרם, על ידי לקוח, על ידי אזור.

2) זורמים ומתי ליישם אותם

קוד הרשאה + PKCE (SPA/Mobile/Web) - ברירת מחדל לכניסת משתמשים.
אישור התקן (קונסולות/TV/CLI) - כאשר אין דפדפן.
תעודות לקוח (מכונה אל מכונה) - שילוב שירות ללא משתמש.
Token Exchange (RFC 8693, OBO) - השירות פועל בשם המשתמש.
CIBA/Back-Channel (אופציונלי) - דחוף אימות ללא כיוון מחדש.

הרחבות כדי לאפשר ברירת מחדל:
  • פרמטרים של אישור מועברים דרך ערוץ שרת מאובטח.
  • אישור מאובטח JWT - פרמטרים בקשה חתומים/מוצפנים.
  • תגובת אישור מוגנת JARM (JWT), עמידה בפני זיוף.
  • RAR (בקשות הרשאה עשירות) - בקשות עתירות זכויות גישה (הרשאות מפורטות).

3) אסימונים ובולים

סוגים:
  • טוקן מזהה (OIDC) - שנכנס (להראות רק ללקוח/חזית).
  • גישה טוקן (AT) - זכות פעולה (חיים קצרים).
  • רענן טוקן (RT) - עדכונים AT; מאוחסן רק בסביבה אמינה.
המלצות תזמון:
  • ב: 5-15 דקות (web/mobile), 2-5 דקות (שירות לשירות).
  • RT: 7-30 (web/mobile) דיסרוטציה + שימוש חוזר בזיהוי.
  • תעודת זהות: 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) מתווה הפעלה והתחברות

Server-Side Session thieve Web (Cookie 'Reside Site = Lax/Strict', 'HttpOnly', 'Secure').
Logout/Back-Channel + Front-Channel Logout (OIDC) - סיום סינכרוני של כל הלקוחות.
Step-Up MFA: עם פעולות רגישות - בדיקה חוזרת ונשנית ('acr' ruping).
ביטול & אינטרוספקציה: ביטול מיידי של RT/AT על ידי תקרית.

5) ביטחון לקוחות

Web/LID: קוד הרשאה + PKCE, ללא מרומז; נוקשה CORS/Content-Security-Policy.
מובייל: דפדפן מערכת (AppAuth), בדיקת שלמות (App Attestation/SymplyCheck), אחסון RT מאובטח.
שולחן עבודה/CLI/TV: Flow התקן; חנות RT בחנויות סודיות של מערכת ההפעלה.
אסימונים של DPoP או mTLS כדי לקשור את AT למכשיר/חיבור.

6) שירות לשירות

שירות MTLS + קצר JWT (aud-scoped), מוציא STS עם KMS/HSM.
זהויות של עומסי עבודה: SPIFE/SPIRE.

מדיניות מצומצמת ורחבה: קהל ספציפי וסקופים במקום "

7) היקף-רישום והסכמה

שם: "משאב: פעולה" - "ארנק: קרא", "ארנק: העברה", "הימורים: מקום", "קיק: מצב. לקרוא '.

הגדרת הראות והרגישות של הסקופים.
מסך הסכמה הורכב מ ־ 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/region/terant), ומגיש בקשה ל-PDP.
PDP (OPA/cedar) מיישם את מדיניות RBAC/ABAC/REBAC ומחזיר את 'LOW/DETRE' עם הסבר ו-TTL.
מטמון הפתרון ב- PEP (TTL 30-120 S) עם נכות לפי אירוע (שינוי תפקיד/חוק).

9) רב ־ דיירים ואזורים

כל האסימונים והפגישות מתויגים ”דייר/אזור/רישיון”; PDP מאמת את ציות המשאבים.
הפרד את JWKS/Keys ורשימות החזרה לפי אזור; דרך שערים אמינים.
מגבלות תושבות נתונים: אינטרוספקטיבה/שלילה מבוצעת באזור המוצא.

10) הגברה פרוטוקול

PAR + JARM - הגן על פרמטרים ותגובות.
Nonce/State/PKCE - לכל הלקוחות הציבוריים.
אישור התקן דחוף (בסיכון גבוה).
JWT Access Tokens עם בולים מינימליים + Opaque אפשרות לאינטגרציה חיצונית באמצעות introspection.
פרקטיקות כמו FAPI: אלגוריתמי חתימה קפדנית, דרישות TLS/redirect_uri/PKCE.

11) שגיאות ומדיניות החזרה

תגובות סטנדרטיות:
json
{ "error":"invalid_grant", "error_description":"refresh token reused", "error_code":"RT_REUSE" }

Cultem: "inflid _ request'," inflid _ client "," inflid _ grant', "inflid _ scope", "unformed _ client", "access'," access _ dispended "," באופן זמני _ לא זמין ".
מגבלת קצב לנקודות קצה רגישות ('/token ', '/introspict', '/ביטול '), גיבוי מעריכי.

12) יכולת תצפית וביקורת

מדדים:
  • 'auth _ code _ possion _ rate', 'pkce _ missing _ rate', 'mfa _ challage/fall _ rate',
  • 'token _ issuance _ p95 _ ms',' jwks _ skew _ ms', 'invalid _ token _ rate', 'rt _ reuse _ guided',
  • PETIPI: "authz _ p95 _ ms'," dember _ rate _ rate "," dpop _ match _ rate "," mtls _ fall _ rate ".

Second _ id ”, grant _ type”, ”kid',” acr/amr ”,” terant/region ”,” decision ”,” policy _ version ”,” aud', ”scp”, ”sid',” trace _ id'.
ביקורת (בלתי ניתנת לשינוי): הוצאת אסימונים, הסלמת הזכויות, משיכת הסכמים, סיבוב מפתח.

13) ניהול מפתח וסבב

חתימת JWT: KMS/HSM, פרסום JWKS עם ”ילד”.
זמן מפתח כפול: סימן IDP חדש, המבקרים מקבלים ישן + חדש לפני ההחלפה.
סבב רגיל וביטול חירום; ניטור צריכת ”ילד”.

14) ספרי משחק (ספרי הפעלה)

1. פשרת מפתח חתימה

מיד לבטל "ילד", להוציא חדש, נכה בכוח RT/הפעלות, דו "ח ביקורת.

2. מסה ”לא תקפה _ token ”/גידול 401

בדוק יישור השעון, פג תוקפו, מטמון JWKS שבור; הגדל זמנית את הסובלנות של שעון _ סקיו.

3. RT שימוש חוזר

לחסום את ההפעלה ("sid'), להודיע למשתמש, לדרוש צעד למעלה עבור התחברות חדשה, לחקור.

4. טיפת IDP

הפעל מצב ”הרשאה לקריאה בלבד”: שמור על ATTL פעיל עד TTL, הגביל לוגנים חדשים, קנה מידה למטמון האינטרוספקציה.

5. התקפה על '/אסימון &ft

לחזק מסנני rate-limit/bot, לאפשר mTLS/DPoP ללקוחות רגישים, להעביר RTs קרים לקטע נפרד.

15) בדיקה

חוזה: תגלית OIDC, JWKS, הגדרת ספקית OpenID.
אבטחה: PKCE/nunce/state נדרש; Sets שלילי (החלפות 'reprect _ uri', RT).
Interoperability: לקוחות (web/mobile/CLI), אזורי זמן/מקומות שונים.
כאוס: כשל נקוב/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/nunce/state מופעל; PAR/JAR/JARM פעילים.
[ ] AT/RT/TTL; RT סיבוב + שימוש חוזר זיהוי מופעל.
[ ] DPoP או mTLS-מחייב ללקוחות/מבצעים רגישים.
[ ] JWKS c 'ילד "; סיבוב אוטומטי וניטור צריכת מפתח.
[ ] הסכמה/RAR ורישום היקף; שלב למעלה MFA לפעילויות רגישות.
[ ] PDP/PEP משולב, מטמון פתרונות נכות.
[ ] Tokens מכיל 'דייר/אזור/רישיון'; תושבות נצפית.
[ ] יכולת תצפית: מדדים, יומנים, איתור; מתריע ”לא תקף _ token”, ”rt _ reuse”, ”jwks _ skew”.
[ ] ספרי משחק על ביטול/סיבוב/נעילה; כפתור יציאת חירום.
[ ] קבוצה של מבחני E2E/chaos/interop הועברה על הדוכנים.

סיכום

על ידי הטמעת OAuth2/OIDC כיכולת פלטפורמה, אתה מקבל זרימות אישור צפויות, אסימונים מנוהלים, מדיניות גישה אחידה, וסיכון מדיד. AT קצר מוגן על ידי RT, סיבוב מפתח, PAR/JARM/DPoP, הסכמה, ועלייה מדרגה הם פרקטיקות שהופכות את הביטחון לברירת המחדל, ואבולוציה מהירה ונטולת כאבים עבור צוותים ושותפים.

Contact

צרו קשר

פנו אלינו בכל שאלה או צורך בתמיכה.אנחנו תמיד כאן כדי לעזור.

התחלת אינטגרציה

Email הוא חובה. Telegram או WhatsApp — אופציונליים.

השם שלכם לא חובה
Email לא חובה
נושא לא חובה
הודעה לא חובה
Telegram לא חובה
@
אם תציינו Telegram — נענה גם שם, בנוסף ל-Email.
WhatsApp לא חובה
פורמט: קידומת מדינה ומספר (לדוגמה, +972XXXXXXXXX).

בלחיצה על הכפתור אתם מסכימים לעיבוד הנתונים שלכם.