GH GambleHub

Σύνδεση OAuth2/OpenID στον πυρήνα

OIDC με την πάροδο του OAuth2 είναι ένας τυποποιημένος τρόπος για να αποδειχθεί ποιος είναι ο χρήστης/πελάτης και να δοθεί βραχύβια πρόσβαση API. Στο επίκεντρο της πλατφόρμας, γίνεται κεντρική ικανότητα: ενιαίο σήμα για τους πελάτες, τους φορείς εκμετάλλευσης και τις υπηρεσίες· ελάχιστα προνόμια· μετρήσιμος κίνδυνος· συμμόρφωση με τους περιφερειακούς κανονισμούς και τους κανονισμούς αδειοδότησης.

1) Στόχοι και αρχές

Διαχωρισμός «ενεργοποίηση έναντι ενεργοποίησης»: ανάπτυξη του κώδικα χωριστά, δυνατότητα πρόσβασης με σημαίες/πολιτικές.
Βραχύβιες μάρκες + ασφαλής ενημέρωση: μείωση των ζημιών από διαρροές.
Πολυπληθής/περιφέρεια: όλα τα τεχνουργήματα φέρουν την ονομασία «ενοικιαστής/περιφέρεια/άδεια».
Πολιτικές πάνω από τις μάρκες: λύσεις γίνονται από το PDP (RBAC/ABAC), το PEP για τις πύλες/υπηρεσίες.
Προστασία σύνδεσης: TLS1. 2 +, mTLS/DPoP, εάν είναι δυνατόν, αυστηρή CORS/CSRF.
Παρατηρησιμότητα και έλεγχος: προβολή ανά ροή, ανά πελάτη, ανά περιφέρεια.

2) Ροές και χρόνος εφαρμογής τους

Κωδικός έγκρισης + PKCE (SPA/Mobile/Web) - προεπιλογή για σύνδεση χρήστη.
Εξουσιοδότηση συσκευής (κονσόλες/τηλεόραση/CLI) - όταν δεν υπάρχει περιηγητής.
Εντολές πελατών (machine-to-machine) - ενοποιήσεις υπηρεσιών χωρίς χρήστη.
Token Exchange (RFC 8693, OBO) - η υπηρεσία ενεργεί εξ ονόματος του χρήστη.
CIBA/Back-channel (προαιρετικά) - ώθηση ταυτοποίησης χωρίς ανακατευθύνσεις.

Επέκταση για εξ ορισμού ενεργοποίηση:
  • PAR (Pushed Authorisation Requests) - Οι παράμετροι έγκρισης μεταδίδονται μέσω ενός ασφαλούς καναλιού διακομιστή.
  • Η ασφαλής εξουσιοδότηση JWT - Οι παράμετροι αίτησης είναι υπογεγραμμένες/κρυπτογραφημένες.
  • JARM - προστατευόμενη απόκριση αδειοδότησης (JWT), ανθεκτική στην παραποίηση.
  • RAR (Αιτήσεις για πλούσια άδεια) - αιτήσεις για πλούσια δικαιώματα πρόσβασης (λεπτομερείς άδειες).

3) Μάρκες και γραμματόσημα

Τύποι:
  • ID Token (OIDC) - που εισήλθαν (εμφανίζονται μόνο στον πελάτη/εμπρόσθιο μέρος).
  • Άδεια πρόσβασης (AT) - δικαίωμα σε δράση (σύντομη διάρκεια ζωής).
  • Ανανέωση του Token (RT) - επικαιροποιήσεις AT; αποθηκεύεται μόνο σε αξιόπιστο περιβάλλον.
Συστάσεις χρονοδιαγράμματος:
  • AT: 5-15 λεπτά (web/mobile), 2-5 λεπτά (service-to-service).
  • RT: 7-30 дней (web/mobile) с περιστροφή + ανίχνευση επαναχρησιμοποίησης.
  • ID: ≤ 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 web (cookie 'SameSite = Lax/Stric ,' HttpOnly ',' Secure ').
Back-Channel Logout + Front-Channel Logout (OIDC) - συγχρονισμένος τερματισμός όλων των πελατών.
Κλιμακωτή ΜΧΠ: με ευαίσθητες δράσεις - επαναλαμβανόμενος έλεγχος (αύξηση «acr»).
Ανάκληση & ενδοσκόπησης: άμεση απενεργοποίηση RT/AT ανά περιστατικό.

5) Ασφάλεια πελατών

Web/SPA: Κωδικός αδειοδότησης + PKCE, δεν είναι σιωπηρός. αυστηρή πολιτική CORS/περιεχομένου-ασφάλειας.
Κινητό: περιηγητής συστημάτων (AppAuth), έλεγχος ακεραιότητας (App Attestation/DevidCheck), ασφαλής αποθήκευση RT.
Επιτραπέζιος υπολογιστής/CLI/TV: ροή συσκευής. αποθηκεύει RT σε μυστικά καταστήματα OS.
Δείκτες που συνδέονται με DPoP ή mTLS για τη σύνδεση της 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 και επιστρέφει 'ABILE/DENY' with exploration και TTL.
Η λύση κρύπτεται στο PEP (TTL 30-120 s) με αναπηρία ανά συμβάν (αλλαγή ρόλου/κανόνα).

9) Πολυπληθείς και περιφέρειες

Όλες οι μάρκες και συνεδρίες φέρουν την ονομασία «ενοικιαστής/περιφέρεια/άδεια». Το PDP επικυρώνει τη συμμόρφωση των πόρων.
Χωριστοί κατάλογοι JWKS/κλειδιών και ανάκλησης ανά περιφέρεια. διαπεριφερειακές πύλες - μέσω αξιόπιστων πυλών.
Περιορισμοί διαμονής δεδομένων: Η ενδοσκόπηση/ανάκληση πραγματοποιείται στην περιοχή καταγωγής.

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" }

: 'άκυρο _ αίτημα', 'άκυρο _ πελάτη', 'άκυρο _ επιχορήγηση', 'άκυρο _ πεδίο εφαρμογής', 'μη εξουσιοδοτημένο _ πελάτη', 'πρόσβαση _ άρνηση', 'προσωρινά _ μη διαθέσιμο'.
Όριο ταχύτητας για ευαίσθητα τελικά σημεία ('/token ', '/introspec , '/recoke'), εκθετική backoff.

12) Παρατηρησιμότητα και λογιστικός έλεγχος

Μετρήσεις:
  • 'auth _ code _ success _ rate', 'pkce _ lowing _ rate', 'mfa _ challenge/fail _ rate',
  • 'token _ issuance _ p95 _ m ,' jwks _ skew _ m , 'invalid _ token _ rate', 'rt _ reuse _ inclused',
  • API: 'authz _ p95 _ m по,' deny _ rate {reason} ',' dpop _ mismatch _ rate ',' mtls _ fail _ rate '.

: 'client _ i ,' grant _ type ',' kid ',' acr/amr ',' tenant/region ',' decision ',' policy _ version ',' au , 'scp', 'sid', 'trace _ i .
Έλεγχος (αμετάβλητος): έκδοση σημάτων, κλιμάκωση δικαιωμάτων, ανάκληση αδειών, εναλλαγή κλειδιού.

13) Βασική διαχείριση και εναλλαγή

Υπογραφή JWT: KMS/HSM, έκδοση JWKS με «παιδί».
Περίοδος διπλού κλειδιού: Το IdP υπογράφει νέα, οι κριτικοί δέχονται παλιά + νέα πριν από την αλλαγή.
τακτική εναλλαγή και ανάκληση έκτακτης ανάγκης· παρακολούθηση της κατανάλωσης «παιδιού».

14) Βιβλία παιχνιδιών (runbooks)

1. Υπογραφή βασικού συμβιβασμού

Να ανακληθεί αμέσως το «παιδί», να εκδοθεί νέα RT/sessions με βίαιη αναπηρία, έκθεση ελέγχου.

2. Μάζα 'άκυρη _ μάρκα '/ανάπτυξη 401

Έλεγχος λανθασμένης ευθυγράμμισης ρολογιού, λήξη AT, σπασμένη μνήμη JWKS. να αυξήσει προσωρινά το ανεκτικό «ρολόι _ σκου».

3. Επαναχρησιμοποίηση RT

Μπλοκάρετε τη συνεδρία ('sid'), ενημερώστε το χρήστη, ζητήστε ένα βήμα προς τα πάνω για μια νέα σύνδεση, ερευνήστε.

4. Σταγόνα IdP

Ενεργοποίηση λειτουργίας «αδειοδότησης μόνο για ανάγνωση»: διατήρηση ενεργών AT μέχρι TTL, περιορισμός νέων συνδέσμων, κλιμάκωση της μνήμης ενδοσκόπησης.

5. Επίθεση σε '/μάρκα '

Ενίσχυση των φίλτρων ορίου/bot, δυνατότητα mTLS/DPoP για ευαίσθητους πελάτες, μετακίνηση ψυχρών RT σε ξεχωριστό τμήμα.

15) Δοκιμές

Σύμβαση: OIDC discovery, JWKS, OpenID provider config.
Ασφάλεια: Απαιτείται PKCE/nonce/state. αρνητικά σύνολα (υποκαταστάσεις 'redirect _ uri', επαναχρησιμοποίηση RT).
Διαλειτουργικότητα: πελάτες (web/mobile/CLI), διαφορετικές ζώνες ώρας/τοποθεσίες.
Χάος: αποτυχία PAR/JARM, καθυστέρηση JWKS, περιστροφή 'παιδί' στη μύγα.
: step-up MAX, OBO (token exchange), logout (front/back-channel), ανάκληση/περιστροφή.

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/state PAR/JAR/JARM είναι ενεργά.
  • Σύνολο ταυτότητας AT/RT/TTL· Ενεργοποιημένη περιστροφή RT + επαναχρησιμοποίηση ανίχνευσης.
  • Δέσμευση DPoP ή mTLS για ευαίσθητους πελάτες/πράξεις.
  • JWKS c 'παιδί'; αυτόματη εναλλαγή και παρακολούθηση της βασικής κατανάλωσης.
  • Μητρώο συναίνεσης/RAR και πεδίου εφαρμογής· ενισχυμένη ΜΧΣ για ευαίσθητες δραστηριότητες.
  • Ολοκληρωμένες λύσεις PDP/PEP για την αναπηρία.
  • Οι μάρκες περιέχουν «ενοικιαστή/περιφέρεια/άδεια». παρατηρείται η κατοικία.
  • Παρατηρησιμότητα: μετρήσεις, κορμοί, ιχνηλασιμότητα. ειδοποιήσεις για 'άκυρα _ token', 'rt _ reuse', 'jwks _ skew'.
  • Βιβλία αναπαραγωγής για ανάκληση/περιστροφή/κλείδωμα. κουμπί σύνδεσης έκτακτης ανάγκης.
  • Ένα σύνολο E2E/chaos/interop δοκιμών πέρασε στις εξέδρες.

Συμπέρασμα

Ενσωματώνοντας OAuth2/OIDC ως δυνατότητα πλατφόρμας, παίρνεις προβλέψιμες ροές εξουσιοδότησης, διαχειριζόμενες μάρκες, ομοιόμορφες πολιτικές πρόσβασης και μετρήσιμο κίνδυνο. Σύντομες AT που προστατεύονται από RT, εναλλαγή κλειδιού, PAR/JARM/DPoP, συναίνεση και κλιμάκωση είναι πρακτικές που καθιστούν την ασφάλεια προεπιλεγμένη και την εξέλιξη γρήγορη και ανώδυνη για ομάδες και εταίρους.

Contact

Επικοινωνήστε μαζί μας

Επικοινωνήστε για οποιαδήποτε βοήθεια ή πληροφορία.Είμαστε πάντα στη διάθεσή σας.

Έναρξη ολοκλήρωσης

Το Email είναι υποχρεωτικό. Telegram ή WhatsApp — προαιρετικά.

Το όνομά σας προαιρετικό
Email προαιρετικό
Θέμα προαιρετικό
Μήνυμα προαιρετικό
Telegram προαιρετικό
@
Αν εισαγάγετε Telegram — θα απαντήσουμε και εκεί.
WhatsApp προαιρετικό
Μορφή: κωδικός χώρας + αριθμός (π.χ. +30XXXXXXXXX).

Πατώντας «Αποστολή» συμφωνείτε με την επεξεργασία δεδομένων.