Portal dezvoltatori și Access Jetoane
1) Rolul portalului dezvoltatorului
Developer Portal este un „front office” pentru integratori: self-service (chei, jetoane, carti web, planuri tarifare), transparenta (limite, utilizare, facturi), securitate (rotatie, semnaturi), viteza de integrare (SDK, documentatie, sandbox).
Obiective cheie:- Reducerea TTI (timp de integrare) la ore.
- Da control de acces: cine/ce/cât de mult/când.
- Reduceți sarcina pe suport prin auto-unelte.
2) Onboarding și conturi
Înregistrare: e-mail + 2FA/SSO (SAML/OIDC); Validarea domeniului (DNS token).
Organizații și echipe: 'Proprietar', 'Admin', 'Dezvoltator', 'Facturare', 'Securitate' roluri.
Multi-chiriaș: conectarea aplicațiilor la organizații; accesul la date - de către chiriaș/mediu.
KYC/B2B (en-gros): pentru Enterprise - persoană juridică, contract, limitele de mai sus.
3) Anexe și credite
Tipuri de aplicații: 'server-to-server', 'web', 'mobile', 'machine-to-machine', 'webhook-consumer'.
3. 1 chei API (integrări simple între servere)
Identificator 'key _ id' + secret' key _ secret '(vizibil o dată).
Legarea la planul de scopuri și seturi.
Solicitați semnătura (HMAC) și/sau 'Autorizare: ApiKey <key_id>:<signature>' antet.
3. 2 OAuth2/OIDC (recomandat)
Granturi:- Acreditările clienților (mașini).
- Codul de autorizare (+ PKCE) (delegat de utilizator).
- Refresh Token (acces offline, rotație RT).
- Codul dispozitivului (TV/console).
3. 3 mTLS (nivel suplimentar)
TLS reciprocă privind intrarea; certificatele sunt descărcate prin intermediul portalului; legarea „cert _ amprentă digitală” la aplicație.
4) Jetoane: tipuri și ciclu de viață
Principii:- Scurt AT + lung RT; RT - rotire la utilizare.
- Revocarea prin cheie/cerere/organizare.
- Reemiterea cu scopuri/restricții de cote.
4. 1 format JWT (exemplu)
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..."
}
Cheile publice sunt publicate în JWKS; rotație de „copil”.
4. 2 jetoane opace și introspecție
Stocați 'token _ store' (Redis/SQL) în serverul Auth.
Introspecție: "activ", "domeniu de aplicare", "exp", "client _ id'," org "," chiriaș ".
5) Scopuri, roluri și politici de acces
Scopes descrie operațiunile ('portofel: citit', 'portofel: scrie', 'raport: citit').
Roluri agregate scopes ('Dezvoltator', 'Facturare').
ABAC: atribute „org”, „chiriaș”, „regiune”, „mediu”.
Politicienii: „această cheie este doar” eu-vest-1 „şi” citit „”.
Pas-up: Metodele critice necesită scopuri extinse sau mTLS.
6) Cote, limite și tarife
Limitele ratei: RPS/RPM, explozie.
Cote: zi/lună, credite.
Prin cheie/cerere/organizare/chiriaș.
Portalul prezintă utilizarea, anteturile „X-RateLimit-” și „X-Cota-”, precum și prognoza de depășire.
Facturare: conectarea cu un plan, contorizarea după evenimente, facturi și carnete web de facturare.
7) Webhook management
Înregistrarea punctelor finale, secrete, versiuni de evenimente.
Testați livrarea și reluarea; retry busteni (2xx/4xx/5xx).
Semnături HMAC ('X-Signature'), 'X-Webhook-Id', deduplicare, respect' 410 '.
8) Documentație și SDK
OpenAPI/AsyncAPI cu generare automată SDK.
Carte de bucate: exemple de cereri, retribuții, idempotență, paginare, cărți web.
Incearca-l loc de joaca (cu chei de nisip).
Versiunea Changelog și pagina de depresii.
9) Sandbox și date de testare
Medii izolate: „sandbox”, „punere în scenă”, „producție”.
Entități de testare (jucători, tranzacții) și scripturi (câștig/pierdere, întârzieri, 5xx, 429).
Semănarea datelor din portal și resetarea mediului.
10) Securitatea și stocarea secretelor
API Cheie hash de secrete (nu se stochează în text clar); Arată cheia o dată.
Secret Manager (KMS/HSM) pentru semnătura token-uri; rotaţie de chei „copil”.
IP allowlist, geo-constrângeri, filtre ASN.
2FA/SSO, chei hardware (WebAuthn).
Protecție împotriva abuzului: CAPTCHA la crearea, euristica anti-bot, viteza de înregistrare.
Busteni fara PII/secrete; redactarea după modele.
11) Audit și conformitate
Jurnal de audit: cine a creat/vizualizat/revocat cheia, a schimbat webhook-ul, a descărcat raportul.
GDPR/DSAR - descărcați și ștergeți datele aplicației/organizației.
Politici de retenție: TTL pentru jurnale, Legal Hold pentru incidente.
Condiții de utilizare/Utilizare echitabilă și restricții de export.
12) Administrare și operațiuni
Rechemarea în masă a jetoanelor prin incident/compromis.
Suspendarea temporară a cererii (suspendare) cu cauză și recurs.
Tasta roll over (modul cu două taste: „activ/următor”).
Incident comm: status page, mailings, RSS/webhooks stare.
13) UI/UX portal (ecrane cheie)
Tabloul de bord al organizației: utilizare/erori/SLO/facturare.
Aplicație: chei, jetoane, scopuri, limite, cârlige web, medii.
Jurnale de livrare Webhook cu filtre și un buton Replay.
Token console: emitere/rechemare, istorie, motive.
Documentație și SDK, Quickstart, mostre de cod (copy-paste).
Secțiunea „Deprecieri și migrații”.
14) Exemple de contracte și configurații
14. 1 OpenAPI (fragmente)
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 introspecție (răspuns)
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 Politica-cheie (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) Procese de versionare și escrow
Versiuni API semantice ('/v1 ', '/v2'), compatibilitate add-do-not-break.
Portalul arată: „ceea ce devine învechit”, până la ce dată și „cum să migrezi”.
Ghiduri de migrare, testare sandbox 'v2', dual-write/dual-read ori de câte ori este posibil.
16) Observabilitate și raportare
Utilizare → venituri: cerere/credit/suprapunere orare.
Erori după status/' error _ code ', histograme de latență.
widget-uri SLO: accesibilitate și p95 pentru mânere cheie.
Export CSV/JSON, webhook-uri de rapoarte, API pentru analytics.
17) Liste de verificare
17. 1 Siguranţă
- 2FA/SSO, confirmare domeniu/mail
- Arată secretele o dată, hash de stocare
- JWKS și rotație cheie, 'kid'
- mTLS (Ex), lista de permise IP, filtre geo/ASN
- Anti-bot/anti-abuz, rată-limită pe generarea de chei
- Jurnal de audit al acțiunilor și acceselor
17. 2 DX/Onboarding
- Quickstart ≤ 5 minute
- SDK (TS/Py/Java/Go/.NET) cu aceeași suprafață
- Loc de joaca + chei de nisip
- Carte de bucate: Webhooks, Paginare, Retrageri, Idempotence
- Limite/Planuri/Pagină de prețuri
- Copy-paste exemple
17. 3 Operațiuni
- Mass token rechemare, suspenda app
- Incident/Status Page + Abonament
- DLQ/Replay pentru Webhooks
- Alerte automate pentru epuizarea cotelor apropiate
- Rapoarte și facturi lunare
18) Planul de implementare (3 iterații)
Iterația 1 - MVP (2-3 săptămâni):- Înregistrarea org/aplicații, emiterea de chei API, OAuth2 de acreditare a clienților, limite de bază (SPR/cote), jurnale de cerere și grafice de utilizare, documentație și SDK TS/Python, sandbox.
- JWT + JWKS, rotație cheie, Refresh Token + rotiți-la-utilizare, 2FA/SSO obligatorii, cărți web (semnături, retries, logare, reluare), carti web de facturare, rapoarte și exporturi, roluri și ABAC.
- mTLS, instrumente de administrare (revocare/suspendare în masă), decretări și migrații v2, Java/Go/.NET SDK, tablouri de bord finops, GDPR/DSAR, Legal Hold, anti-abuz avansat.
19) Mini-Întrebări frecvente
JWT sau opac?
JWT este convenabil fără a cere serverului Auth (semnătură/„ copil ”), opac este mai ușor de revocat și ascunde conținutul. Ambele sunt adesea utilizate: JWT extern, opac intern cu introspecție.
Cât timp trăiește Access Token?
Scurt: 5-15 minute pentru personalizat, 15-60 minute pentru mașină. Compensat de mecanica de reîmprospătare.
Cum să rotiți în siguranță cheile?
Păstrați „activ/următor”, posta ambele la JWKS, comuta clienții de „copil”, apoi amintesc cel vechi.
Total
Un portal dezvoltator puternic este self-service, observabilitate, și securitate în mod implicit. Oferiți procese clare pentru emiterea/rotirea/revocarea tokenurilor, limite transparente și facturare, documentație și SDK de înaltă calitate, cărți web fiabile și audituri. Apoi integratorii vor începe rapid, iar platforma dvs. va rămâne gestionabilă, conformă și stabilă sub sarcină.