Ishlab chiquvchilar portali va kirish tokenlari
1) Ishlab chiquvchilar portalining roli
Developer Portal - bu integratorlar uchun «old ofis»: o’ziga xizmat ko’rsatish (kalitlar, tokenlar, vebxuklar, tarif rejalari), shaffoflik (limitlar, usage, invoyslar), xavfsizlik (rotatsiya, imzolar), integratsiya tezligi (SDK, hujjatlar, qum qutisi).
Asosiy maqsadlar:- TTI (time-to-integrate) ni soatgacha qisqartirish.
- Foydalanish qobiliyatini berish: kim/nima/qancha/qachon.
- Avtoinstrumentlar orqali qoʻllab-quvvatlashga boʻlgan yukni kamaytirish.
2) Onbording va hisob qaydnomalari
Ro’yxatdan o’tkazish: email + 2FA/SSO (SAML/OIDC); domenni tasdiqlash (DNS-token).
Tashkilotlar va jamoalar: «Owner», «Admin», «Developer», «Billing», «Security» rollari.
Multi-tenant: ilovalarni tashkilotlarga bog’lash; ma’lumotlardan foydalanish - tenant/atrof-muhit bo’yicha.
KYC/B2B (ops.) : Enterprise uchun - yuridik shaxs, shartnoma, yuqori limitlar.
3) Ilovalar va kredenshellar
Ilova turlari:’server-to-server’,’web’,’mobile’,’machine-to-machine’,’webhook-consumer’.
3. 1 API Keys (server-to-server, oddiy integratsiyalar)
Identifikator’key _ id’+ maxfiy’key _ secret’(bir marta koʻrinadi).
Reja va scopes toʻplamlariga bogʻlash.
So’rovlar imzosi (HMAC) va/yoki’Authorization: ApiKey <key_id>:<signature>' sarlavhasi.
3. 2 OAuth2/OIDC (tavsiya etiladi)
Grantlar:- Client Credentials (mashinalar).
- Authorization Code (+PKCE) (user-delegated).
- Refresh Token (oflayn kirish, RT rotatsiyasi).
- Device Code (TV/konsol).
3. 3 mTLS (qo’shimcha daraja)
Ingress bo’yicha o’zaro TLS; sertifikatlar portal orqali yuklanadi; ’cert _ fingerprint’ dasturiga bogʻlash.
4) Tokenlar: turlari va hayot sikli
Prinsiplar:- Qisqa AT + uzun RT; RT - harakatlanuvchi rotatsiya (rotate-on-use).
- Tashkilot/ilova bo’yicha majburan chaqirib olish.
- Scopes/kvotalar bo’yicha cheklovlarni saqlab qolgan holda qayta berish.
4. 1 JWT formati (misol)
json
{
"iss":"https://auth. example. com",
"sub":"app_123",
"aud":"https://api. example. com",
"exp":1730616000,
"iat":1730612400,
"scp":["wallet:read","bet:write"],
"org":"acme",
"kid":"jwks_2025_11",
"jti":"at_01HXY..."
}
Ommaviy kalitlar JWKSda e’lon qilinadi; «kid» bo’yicha rotatsiya.
4. 2 Opaque tokenlari va Introspection
’token _ store’ (Redis/SQL) Auth-serverida saqlang.
Introspektsiya:’active’,’scope’,’exp’,’client _ id’,’org’,’tenant’.
5) Skopes, rollar va kirish siyosati
Scopes operatsiyalarni tasvirlaydi (’wallet: read’,’wallet: write’,’report: read’).
Rollarni scopes (’Developer’,’Billing’) birlashtiradi.
ABAC:’org’,’tenant’,’region’,’environment’atributlari.
Siyosatchilar: «Bu kalit faqat’eu-west-1’va’read’».
Step-up: tanqidiy usullar uchun kengaytirilgan scopes yoki mTLS kerak.
6) Kvotalar, limitlar va tariflar
Rate limits: RPS/RPM, burst.
Kvotalar: kun/oy, kreditlar.
Kalit/ilova/tashkilot/tenant bo’yicha.
Portal usage,’X-RateLimit-’va’X-Quota-’sarlavhalarini, shuningdek overage prognozini ko’rsatadi.
Billing: reja bilan bog’lanish, voqealar bo’yicha metring, invoyslar va billing vebxuklari.
7) Vebxuklarni boshqarish
Endpoint’lar, sirlar, voqealar versiyalarini roʻyxatdan oʻtkazish.
Test-yetkazib berish va replay; urinishlar logi (2xx/4xx/5xx).
Imzolar HMAC (’X-Signature’),’X-Webhook-Id’, deduplikatsiya, respect’410’.
8) Hujjatlar va SDK
SDK avto-generatsiyasi bilan OpenAPI/AsyncAPI.
Cookbook: soʻrovlar, retryalar, idempotentlik, paginatsiya, webhooks.
Try-it playground (qum kalitlari bilan).
Changelog versiyasi va deprekatsiya sahifasi.
9) Qum qutisi va test ma’lumotlari
Izolyatsiya qilingan muhit:’sandbox’,’staging’,’production’.
Test mohiyatlari (o’yinchilar, tranzaksiyalar) va ssenariylar (win/lose, kechikishlar, 5xx, 429).
Portal va reset muhitidan Data seeding.
10) Xavfsizlik va sirlarni saqlash
Key API siri xeshi (ochiq holda saqlanmaydi); kalitni bir marta koʻrsatish.
Imzo tokenlari uchun maxfiy menejer (KMS/HSM); ’kid’ kalitlarini almashtirish.
IP allowlist, geo-cheklovlar, ASN-filtrlar.
2FA/SSO, apparat kalitlari (WebAuthn).
Abyuzdan himoya qilish: CAPTCHAni yaratishda, evristikaga qarshi bot, ro’yxatdan o’tish tezligi.
PII/sirsiz loglar; redaction namunalar boʻyicha.
11) Audit va muvofiqlik
Audit-log: kalitni kim yaratgan/ko’rgan/qaytarib olgan, vebxukni o’zgartirgan, hisobotni yuklab olgan.
GDPR/DSAR: dastur/tashkilot maʼlumotlarini yuklash va olib tashlash.
Saqlash siyosati: TTL loglar uchun, hodisalar uchun Legal Hold.
Terms of Use/Fair Use va eksport cheklovlari.
12) Ma’muriy va operatsiyalar
Hodisa/kompromatatsiya bo’yicha tokenlarni ommaviy chaqirib olish.
Ilovani (suspend) sababi va apellyatsiya bilan vaqtincha to’xtatib turish.
Kalitlarning roll-overi (ikki kalitli rejim:’active/next’).
Hodisa: maqom sahifasi, tarqatish, RSS/vebxuk maqomi.
13) Portal UI/UX (asosiy ekranlar)
Tashkilot dashbordi: usage/xatolar/SLO/billing.
Ilova: kalitlar, tokenlar, scopes, limitlar, vebxuklar, muhit.
Filterlar va Replay tugmasi bilan vebxuklarni yetkazib berish daftarlari.
Token-konsol: chiqarish/chaqirib olish, tarix, sabablar.
Hujjatlar va SDK, Quickstart, kod namunalari (nusxa olish-qoʻyish).
«Depreksiya va migratsiya» bo’limi.
14) Kontraktlar va konfiguratsiyalar namunalari
14. 1 OpenAPI (parchalar)
yaml paths:
/v1/apps:
post:
summary: Create app security: [{ oauth2: [admin:apps. write] }]
responses:
'201': { description: Created }
/v1/apps/{app_id}/keys:
post:
summary: Create API key (shown once)
responses:
'201': { description: Created }
/v1/oauth2/token:
post:
summary: Token endpoint (CC/AC)
responses:
'200': { description: Access token }
/v1/tokens/revoke:
post:
summary: Revoke access/refresh token responses:
'204': { description: Revoked }
14. 2 Token introspektsiyasi (javob)
json
{
"active": true,
"client_id": "app_123",
"scope": "wallet:read bet:write",
"org": "acme",
"exp": 1730616000,
"token_type": "access_token",
"jti": "at_01HXY..."
}
14. 3 Kalitlar siyosati (JSON)
json
{
"app_id":"app_123",
"plan":"pro-2025",
"scopes":["wallet:read","report:read"],
"limits":{"rps":50,"daily_requests":250000},
"regions":["eu-west-1"],
"ip_allow":["192. 0. 2. 0/24"]
}
15) Versiyalash va deprekatsiya jarayonlari
API ning semantik versiyasi (’/v1’, ’/v2’), mosligi «qo’shing, buzmang».
Portal shuni koʻrsatadiki, «nima eskiradi», qaysi sanaga qadar va «qanday qilib migratsiya qilish kerak».
Migratsiya gidlari, test qum qutisi’v2’, dual-write/dual-read mumkin bo’lgan joylarda.
16) Kuzatuv va hisobot
Usage → tushum: so’rovlar/kreditlar/overijlar jadvallari.
Xatolar/’ error _ code’, yashirin gistogrammalar.
SLO vidjetlari: kalitlar uchun foydalanish imkoniyati va p95.
CSV/JSON eksport qilish, hisobot vebxuklari, tahlil uchun API.
17) Chek-varaqlar
17. 1 Xavfsizlik
- 2FA/SSO, domen/pochtani tasdiqlash
- Sirlarni bir marta ko’rsatish, xesh saqlash
- JWKS va kalitlarni almashtirish,’kid ’
- mTLS (ops.) , IP allowlist, geo/ASN filtrlar
- Anti-bot/anti-abuse, rate-limit
- Harakatlar va kirish auditi
17. 2 DX/Onbording
- Quickstart ≤ 5 daqiqa
- SDK (TS/Py/Java/Go/.NET)
- Playground + qum kalitlari
- Cookbook: vebxuklar, paginatsiya, retray, idempotentlik
- Limitlar/rejalar/narxlar sahifasi
- «Nusxa olish-qoʻyish» misollari
17. 3 Operatsiyalar
- Tokenlarni ommaviy chaqirib olish, suspend app
- Hodisa/maqom sahifasi + obuna
- Vebxuklar uchun DLQ/Replay
- Kvotalarning yaqin tugashi to’g "risida avto-ogohlantirish
- Oylik hisobotlar va invoyslar
18) Joriy etish rejasi (3 ta iteratsiya)
Iteratsiya 1 - MVP (2-3 hafta):- Org/ilovalarni ro’yxatdan o’tkazish, API Keys, Client Credentials OAuth2 berish, bazaviy limitlar (RPS/kvotalar), so’rovlar loglari va usage-grafiklar, hujjatlar va SDK TS/Python, qum qutisi.
- JWT + JWKS, kalitlar rotatsiyasi, Refresh Token + rotate-on-use, mandat 2FA/SSO, vebxuklar (imzolar, retries, loglar, replay), billing vebxuklar, hisobotlar va eksport, rollar va ABAC.
- mTLS, ma’muriy vositalar (mass revoke/suspend), deprekatsiya va migratsiya v2, SDK Java/Go/.NET, finops-dashbordlar, GDPR/DSAR, Legal Hold, ilg’or anti-abyuz.
19) Mini-FAQ
JWT yoki opaque?
JWT Auth-server soʻrovisiz qulay (imzo/’ kid’), opaque - tarkibni qaytarib olish osonroq va yashiradi. Ko’pincha ikkalasi ham ishlatiladi: tashqi tomondan JWT, ichki tomondan - introspektsiya bilan opaque.
Access Token qancha yashaydi?
Qisqacha: foydalanuvchilar uchun 5-15 daqiqa, mashinalar uchun 15-60 daqiqa. Refresh-mexanika bilan qoplanadi.
Kalitlarni qanday qilib xavfsiz aylantirish mumkin?
’active/next’ ni saqlang, ikkalasini ham JWKSga joylashtiring, mijozlarni’kid’ga o’tkazing, keyin eskisini chaqirib oling.
Jami
Ishlab chiquvchilarning kuchli portali - bu o’z-o’ziga xizmat ko’rsatish, kuzatish va xavfsizlik. Tokenlarni chiqarish/rotatsiya/chaqirib olishning tushunarli jarayonlarini, shaffof limitlar va billing, sifatli hujjatlar va SDK, ishonchli vebxuklar va auditni bering. Shunda integratorlar tezda ishga tushadi, platformaniz esa boshqariladigan, maqbul va yuk ostida barqaror bo’lib qoladi.