GH GambleHub

Пайваст кардани OAuth2/OpenID дар ядро

OIDC бар OAuth2 як роҳи муқаррарии исботи кӣ будани корбар/муштарӣ ва дастрасии кӯтоҳмуддати API мебошад. Дар маркази платформа, он ба як қобилияти марказӣ табдил меёбад: воридшавии ягона барои муштариён, операторон ва хидматҳо; имтиёзҳои ҳадди аққал; хатари ченшаванда; риояи қоидаҳои минтақавӣ ва иҷозатномадиҳӣ.

1) Ҳадафҳо ва принсипҳо

Ҷудосозӣ "густариш ва фаъол": рамзро алоҳида паҳн кунед, дастрасиро бо парчамҳо/сиёсатҳо имкон диҳед.
Нишонаҳои кӯтоҳмуддат + навсозии бехатар: кам кардани зарар аз ихроҷ.
Бисёр иҷорагир/минтақа: ҳамаи артефактҳо 'иҷорагир/минтақа/литсензия' нишон дода шудаанд.
Сиёсатҳо дар болои нишонаҳо: қарорҳо аз ҷониби PDP (RBAC/ABAC), PEP оид ба дарвоза/хидматҳо таҳия карда мешаванд.
Муҳофизати пайванд: TLS1. 2 +, Агар имконпазир бошад, C/CSRF/DP.
Мушоҳида ва аудит: намоён аз рӯи ҷараён, фармоишгар, минтақа.

2) Ҷараёнҳо ва кай ба кор бурдани онҳо

Кодекси авторизатсия + PKCE (SPA/Mobile/Web) - пешфарз барои вурудоти корбар.
Авторизатсияи дастгоҳ (консолҳо/ТВ/CLI) - вақте ки браузер вуҷуд надорад.
Маълумоти муштарӣ (мошин-ба-мошин) - ҳамгироии хидматҳо бидуни корбар.
Token Exchange (RFC 8693, OBO) - хидмат аз номи корбар амал мекунад.
CIBA/Back-channel (ихтиёрӣ) - аутентификатсияро бидуни равона кардан тела диҳед.

Васеъшавӣ бо нобаёнӣ:
  • PAR (Дархостҳои Авторизатсияи Pust) - Параметрҳои авторизатсия тавассути канали сервери бехатар интиқол дода мешаванд.
  • Иҷозатномаи боэътимоди JWT - Параметрҳои дархост имзо/рамзгузорӣ карда мешаванд.
  • JARM - вокуниши ҳифзшудаи авторизатсия (JWT), ки ба ғоратгарӣ тобовар аст.
  • RAR (Дархостҳои бойи авторизатсия) - дархостҳои ҳуқуқи дастрасӣ (иҷозатномаҳои муфассал).

3) Токенҳо ва маркаҳо

Намудҳо:
  • ID Token (OIDC) - ки ворид шудааст (танҳо ба мизоҷ/пеш нишон медиҳад).
  • Токен дастрасӣ (AT) - ҳуқуқ ба амал (ҳаёти кӯтоҳ).
  • Навсозии токен (ҶТ) - навсозиҳои AT; танҳо дар муҳити боэътимод нигоҳ дошта мешавад.
Тавсияҳои вақт:
  • AT: 5-15 дақиқа (веб/мобилӣ), 2-5 дақиқа (хидмат ба хидмат).
  • ҶТ: 7-30 дней (веб/мобилӣ) с гардиш + муайянкунии такрорӣ.
  • 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) Нақшаи сеанс ва воридшавӣ

Ҷаласаи паҳлӯии сервер для веб (куки 'Same' Site = Lax/Strict ',' HttPonly ',' Secure ').
Logout Back-Channel + Logout Front-Channel (OIDC) - қатъкунии синхронии ҳамаи муштариён.
MFA Step-Up: бо амалҳои ҳассос - санҷиши такрорӣ ('acr' меафзояд).
Бекоркунӣ ва воридшавӣ: фавран хомӯш кардани RT/AT аз рӯи ҳодиса.

5) Амнияти муштариён

Веб/SPA: Кодекси авторизатсия + PKCE, номуайян нест; қатъии CORS/Content-Security-Policy.

Мобилӣ: браузери система (App

Мизи корӣ/CLI/ТВ: Ҷараёни дастгоҳ; RT-ро дар мағозаҳои махфии ОС нигоҳ доред.
Аломатҳои пайвастшудаи DP oP ё 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 дар Gateway API AT/DP-ро тасдиқ мекунад, контекстро ғанӣ мекунад (IP/ASN/минтақа/иҷорагир), ба PDP дархост мекунад.

PDP (OPA/кедр) сиёсати RBAC/ABAC/Re

Кэши ҳалли масъала дар PEP (TTL 30-120 s) бо маъюбӣ аз рӯи ҳодиса (тағир додани нақш/қоида).

9) Бисёр иҷорагир ва минтақаҳо

Ҳама нишонаҳо ва сессияҳо 'иҷорагир/минтақа/литсензия' нишон дода шудаанд; PDP мувофиқати захираҳоро тасдиқ мекунад.
JWKS/калидҳоро ҷудо кунед ва рӯйхатҳоро аз рӯи минтақа ба хотир оред; салиб-минтақа - тавассути дарвозаҳои боэътимод.
Маҳдудиятҳои будубоши маълумот: Интроспексия/бекоркунӣ дар минтақаи пайдоиш анҷом дода мешавад.

10) Тақвияти протокол

PAR + JAR + JARM - Муҳофизати параметрҳо ва посухҳои авторизатсия.
Nonce/State/PKCE - барои ҳамаи муштариёни ҷамъиятӣ.
Авторизатсияи дастгоҳи тела (дар хатари баланд).
Токенҳои дастрасии JWT бо маркаҳои ҳадди аққал + опсияи ношаффоф барои ҳамгироии беруна тавассути introspection.
Амалияҳои ба монанди FAPI: алгоритмҳои қатъии имзо, талаботҳои TLS/redirect_uri/PKCE.

11) Сиёсати хатогиҳо ва бозгашт

Стандартикунонии ҷавобҳо:
json
{ "error":"invalid_grant", "error_description":"refresh token reused", "error_code":"RT_REUSE" }

Критичные коды: 'беэътибор _ дархост', 'беэътибор _ муштарӣ', 'беэътибор _ грант', 'беэътибор _ scope', 'беиҷозат _ муштарӣ', 'access _ dinked', 'муваққатан _ дастнорас'.
Меъёри маҳдудият барои нуқтаҳои ниҳоӣ ('/токен ', '/introspect', '/recoke '), бозгашти экспоненсиалӣ.

12) Мушоҳида ва аудит

Нишондиҳандаҳо:
  • 'auth _ code _ success _ rate', 'pkce _ missing _ rate', 'mfa _ challenge/fail _ rate',
  • 'token _ issuance _ p95 _ ms', 'jwks _ skew _ ms', 'беэътибор _ token _ rate', 'rt _ reuse _ detected',
  • po API: 'authz _ p95 _ ms', 'deny _ rate {сабаб}', 'dpop _ match _ rate', 'mtls _ fail _ rate'.

Логи/трейсы: 'client _ id', 'grant _ type', 'kid', 'acr/amr', 'иҷорагир/минтақа', 'қарор', 'policy _ version', 'aud', 'scp', 'sid', 'trace _ id'.
Аудит (тағирнопазир): додани нишонаҳо, густариши ҳуқуқҳо, бозхондани розигӣ, гардиши калидӣ.

13) Идоракунии калидӣ ва гардиш

Имзои JWT: KMS/HSM, нашри JWKS бо 'кӯдак'.
Давраи калиди дугона: IDP аломатҳои нав дорад, баррасиҳо қабл аз гузариш кӯҳна + навро қабул мекунанд.
Ротатсияи мунтазам ва бекор кардани ҳолати фавқулодда; мониторинги истеъмоли 'кӯдакон'.

14) Китобҳои бозӣ (runbooks)

1. Компромиссияи калиди имзо

Дарҳол "кӯдак" -ро бекор кунед, ҶТ/ҷаласаҳои нави маъюбон, гузориши аудиториро нашр кунед.

2. Массаи 'нодуруст _ токен '/афзоиш 401

Хатогии соатро санҷед, мӯҳлати AT, кэши шикасташудаи JWKS; муваққатан афзоиш додани 'clock _ skew' таҳаммулпазир.

3. Истифодаи такрории ҶТ

Ҷаласаро маҳкам кунед ('sid'), корбарро хабардор кунед, барои воридшавии нав қадамро талаб кунед, тафтиш кунед.

4. Партофтани идентификатор

Даргиронидани ҳолати "танҳо барои хондан": AT-ҳоро то TTL фаъол нигоҳ доред, вурудоти навро маҳдуд кунед, кэши introspection-ро васеъ кунед.

5. Ҳамла ба '/токен '

Филтрҳои меъёри-лимит/ботро мустаҳкам кунед, барои муштариёни ҳассос MTLS/DP-ро фаъол созед, ҶТ-ҳои сардро ба сегменти алоҳида гузаронед.

15) Санҷиш

Шартнома: Кашфи OIDC, JWKS, конфигуратсияи провайдери Open

Амният: PKCE/nonce/давлат талаб карда мешавад; маҷмӯаҳои манфӣ (ивазкунӣ 'remirect _ uri', истифодаи такрории ҶТ).
Созгорпазирӣ: мизоҷон (веб/мобилӣ/CLI), минтақаҳои гуногуни вақт/маҳалҳо.
Бетартибӣ: нокомии PAR/JARM, таъхири JWKS, гардиши 'кӯдак' дар парвоз.
E2E: ВКХ-и зина ба зина, 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 фаъол аст.
  • Маҷмӯи ID AT/RT/TTL; Ротатсияи ҶТ + муайянкунии истифодаи такрорӣ фаъол аст.
  • Барои мизоҷон/амалиётҳои ҳассос ҳатмии DP OP ё MTLS.
  • JWKS c 'кӯдак'; гардиши худкор ва мониторинги асосии истеъмол.
  • Феҳристи ризоият/RAR ва миқёс; Вазорати корҳои хориҷӣ барои фаъолиятҳои ҳассос қадам гузошт.
  • ҲХДТ/ПЭП, кэши ҳалли маъюбӣ.
  • Токенҳо 'иҷорагир/минтақа/литсензия' доранд; иқомат мушоҳида карда мешавад.
  • Мушоҳида: ченакҳо, гузоришҳо, пайгирӣ; огоҳӣ ба 'беэътибор _ токен', 'rt _ reuse', 'jwks _ skew'.
  • Китобҳои бозӣ дар бораи бозхонд/гардиш/маҳкамкунӣ; тугмаи вуруд ба ҳолати фавқулодда.
  • Дар деворҳо як қатор санҷишҳои E2E/chaos/interop гузаронида шуданд.

Хулоса

Бо ворид кардани OAuth2/OIDC ҳамчун қобилияти платформа, шумо ҷараёнҳои пешгӯишавандаи авторизатсия, нишонаҳои идорашаванда, сиёсати дастрасии ягона ва хатари андозагиришавандаро мегиред. AT-ҳои кӯтоҳе, ки аз ҷониби ҶТ ҳифз карда мешаванд, гардиши калидӣ, PAR/JARM/DP JOP, розигӣ ва қадам ба қадам амалҳое мебошанд, ки амниятро бо нобаёнӣ ва таҳаввулот барои гурӯҳҳо ва шарикон зуд ва дардовар мекунанд.

Contact

Тамос гиред

Барои саволҳо е дастгирӣ ба мо муроҷиат кунед.Мо ҳамеша омодаем!

Оғози интегратсия

Email — муҳим аст. Telegram е WhatsApp — ихтиерӣ.

Номи шумо ихтиерӣ
Email ихтиерӣ
Мавзӯъ ихтиерӣ
Паем ихтиерӣ
Telegram ихтиерӣ
@
Агар Telegram нависед — ҷавобро ҳамон ҷо низ мегиред.
WhatsApp ихтиерӣ
Формат: рамзи кишвар + рақам (масалан, +992XXXXXXXXX).

Бо фиристодани форма шумо ба коркарди маълумот розӣ ҳастед.