Portal deweloperski i żetony dostępu
1) Rola portalu deweloperskiego
Portal deweloperski to „front office” dla integratorów: samoobsługi (klucze, żetony, webhaki, plany taryfowe), przejrzystość (limity, wykorzystanie, faktury), bezpieczeństwo (rotacja, podpisy), szybkość integracji (SDK, dokumentacja, piaskownica).
Główne cele:- Skrócenie TTI (czas do integracji) do godzin.
- Daj kontrolę dostępu: kto/co/ile/kiedy.
- Zmniejsz obciążenie wsparcia za pomocą automatycznych narzędzi.
2) Wejście na pokład i rachunki
Rejestracja: e-mail + 2FA/SSO (SAML/OIDC); Walidacja domeny (token DNS).
Organizacje i zespoły: „Właściciel”, „Administrator”, „Deweloper”, „Billing”, „Bezpieczeństwo” role.
Multi-najemca: łączenie aplikacji z organizacjami; dostęp do danych - przez najemcę/środowisko.
KYC/B2B (hurtownia): w przypadku przedsiębiorstwa - podmiot prawny, umowa, limity powyżej.
3) Dodatki i kredyty
Typy aplikacji: „serwer-serwer”, „web”, „mobile”, „machine-to-machine”, „webhook-consumer”.
3. 1 klucze API (serwer-serwer, proste integracje)
Identyfikator 'key _ id' + secret' key _ secret '(widoczny raz).
Powiązanie z planem i zestawami.
Podpis żądania (HMAC) i/lub 'Autoryzacja: ApiKey <key_id>:<signature>' nagłówek.
3. 2 OAuth2/OIDC (zalecane)
Dotacje:- Poświadczenia klienta (maszyny).
- Kod autoryzacji (+ PKCE) (delegowany przez użytkownika).
- Odśwież token (dostęp offline, rotacja RT).
- Kod urządzenia (TV/konsole).
3. 3 mTLS (poziom dodatkowy)
Wzajemne TLS w sprawie wnikania; certyfikaty są pobierane za pośrednictwem portalu; wiążące „cert _ fingerprint” do aplikacji.
4) Żetony: rodzaje i cykl życia
Zasady:- Krótki AT + długi RT; RT - obrót w użyciu.
- Odwołaj przez klucz/aplikację/organizację.
- Ponowna emisja z zakresami/ograniczeniami kwot.
4. 1 format JWT (przykład)
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..."
}
Klucze publiczne są publikowane w JWKS; obrót przez „dziecko”.
4. 2 Nieprzezroczyste żetony i introspekcja
Przechowuj 'token _ store' (Redis/SQL) na serwerze Auth.
Introspekcja: 'active', 'scope', 'exp', 'client _ id',' org ',' lokator '.
5) Zakres, role i polityka dostępu
Zakresy opisują operacje ('portfel: read', 'portfel: write', 'report: read').
Zakres kruszywa ról ('Developer', 'Billing').
ABAC: atrybuty „org”, „najemca”, „region”, „środowisko”.
Politycy: „Ten klucz to tylko” eu-west-1 „i” read „”.
Krok-up: Krytyczne metody wymagają rozszerzonych zakresów lub mTLS.
6) Kontyngenty, limity i taryfy
Limity prędkości: RPS/RPM, pęknięcie.
Kwoty: dzień/miesiąc, kredyty.
Przez klucz/aplikacja/organizacja/najemca.
Portal pokazuje użycie, nagłówki „X- Limit-” i „X-Quota-”, a także prognozę nadwyżki.
Rozliczenie: powiązanie z planem, pomiary według zdarzeń, faktur i rozliczeń webhooks.
7) Zarządzanie hakiem webowym
Rejestracja punktów końcowych, tajemnic, wersji wydarzeń.
Dostawa testów i powtórka; dzienniki retry (2xx/4xx/5xx).
Podpisy HMAC ("X-Signature"), "X-Webhook-Id', deduplication, respect '410'.
8) Dokumentacja i SDK
OpenAPI/AsyncAPI z automatyczną generacją SDK.
Książka kucharska: przykłady zapytań, przekładki, idempotencja, paginacja, haki internetowe.
Wypróbuj plac zabaw (z piaskownicami).
Wersja Changelog i strona depresji.
9) Piaskownica i dane testowe
Środowiska izolowane: „piaskownica”, „postój”, „produkcja”.
Podmioty testujące (gracze, transakcje) i skrypty (wygrana/przegrana, opóźnienia, 5xx, 429).
Siew danych z portalu i zresetować środowisko.
10) Bezpieczeństwo i przechowywanie tajemnic
API Hash klucza tajemnic (nie przechowywać w jasnym tekście); pokaż raz klucz.
Secret Manager (KMS/HSM) dla żetonów do podpisu; rotacja kluczy 'dzieciaka'.
Lista dopuszczalna IP, ograniczenia geograficzne, filtry ASN.
2FA/SSO, klucze sprzętowe (WebAuthn).
Ochrona przed nadużyciami: CAPTCHA podczas tworzenia, heurystyka anty-bot, szybkość rejestracji.
dzienniki bez PII/tajemnic; redakcja według wzorów.
11) Audyt i zgodność
Dziennik audytu: kto stworzył/oglądał/odwołał klucz, zmienił hak, pobrał raport.
RODO/DSAR - pobieranie i usuwanie danych aplikacji/organizacji.
Polityka retencji: TTL dla dzienników, Prawna blokada dla incydentów.
Warunki użytkowania/uczciwe korzystanie i ograniczenia eksportu.
12) Administracja i operacje
Masowe odzyskiwanie żetonów przez incydent/kompromis.
Tymczasowe zawieszenie wniosku (zawieszenie) wraz z powodem i odwołaniem.
Przewróć klucz (tryb dwóch kluczy: 'aktywny/następny').
Incydent comm: strona stanu, mailingi, status RSS/webhooks.
13) Portal UI/UX (ekrany kluczy)
Deska rozdzielcza organizacji: użycie/błędy/SLO/rozliczenie.
aplikacji: klucze, żetony, zakresy, limity, haki internetowe, środowiska.
Logi dostawy Webhook z filtrami i przyciskiem Replay.
Konsola tokenowa: wydanie/wycofanie, historia, powody.
Dokumentacja i SDK, Quickstart, próbki kodowe (kopiowanie).
Sekcja „Depresje i migracje”.
14) Przykłady umów i konfiguracji
14. 1 OpenAPI (snippets)
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 introspekcji (odpowiedź)
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 Polityka kluczowa (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) Procesy weryfikacyjne i powiernicze
Semantyczne wersje API ('/v1 ', '/v2'), kompatybilność dodawana.
Portal pokazuje: „co staje się przestarzałe”, do jakiej daty i „jak migrować”.
Przewodniki migracji, piaskownica testowa 'v2', podwójny zapis/podwójny odczyt w miarę możliwości.
16) Obserwowalność i sprawozdawczość
Wykorzystanie → przychody: żądanie/kredyt/harmonogram nakładania.
Błędy według stanu/' error _ code ', histogramy latencji.
Widżety SLO: dostępność i p95 dla kluczowych uchwytów.
Eksport CSV/JSON, webhaki raportów, API dla analityki.
17) Listy kontrolne
17. 1 Bezpieczeństwo
- 2FA/SSO, potwierdzenie domeny/poczty
- Pokaż sekrety raz, magazyn hash
- JWKS i rotacja klucza, „kid”
- mTLS (Ex), lista dopuszczalna IP, filtry geo/ASN
- Anty-bot/anty-nadużycia, limit stawek dla generowania kluczy
- Dziennik audytu działań i dostępu
17. 2 DX/Wejście na pokład
- Szybkie uruchomienie ≤ 5 minut
- SDK (TS/Py/Java/Go/.NET) o tej samej powierzchni
- Plac zabaw + klucze piaskowe
- Książka kucharska: haki internetowe, paginacja, rekolekcje, idempotencja
- Limity/Plany/Strona cenowa
- Przykłady pasty do kopiowania
17. 3 Operacje
- Masowe odzyskiwanie tokenu, zawieszenie aplikacji
- Incydent/Status Page + Subskrypcja
- DLQ/Replay dla Webhooks
- Automatyczne wpisy dotyczące bliskiego wyczerpania kwot
- Raporty miesięczne i faktury
18) Plan realizacji (3 iteracje)
Iteracja 1 - MVP (2-3 tygodnie):- Rejestracja org/aplikacji, wydawanie kluczy API, OAuth2 poświadczeń klienta, podstawowe limity (RPS/kontyngenty), dzienniki żądań i wykresy użytkowania, dokumentacja i SDK TS/Python, piaskownica.
- JWT + JWKS, rotacja klucza, odświeżenie Token + obrót w użyciu, obowiązkowe 2FA/SSO, haki internetowe (podpisy, ponowne próby, logowanie, powtórka), haki internetowe rozliczeniowe, raporty i eksport, role i ABAC.
- mTLS, narzędzia administratora (masowe cofnięcie/zawieszenie), spadki i migracje v2, Java/Go/.NET SDK, deski rozdzielcze finops, GDPR/DSAR, Legal Hold, zaawansowane przeciwdziałanie nadużyciom.
19) Mini-FAQ
JWT czy nieprzezroczyste?
JWT jest wygodne bez pytania serwera Auth (podpis/' kid '), nieprzezroczyste jest łatwiejsze do odwołania i ukrywa zawartość. Oba są często używane: zewnętrznie JWT, wewnętrznie nieprzezroczyste z introspekcją.
Jak długo żyje Access Token?
Krótki: 5-15 minut na zamówienie, 15-60 minut na maszynę. Kompensowane mechaniką odświeżania.
Jak bezpiecznie obracać klucze?
Zachować 'aktywny/następny', zamieścić oba na JWKS, przełączyć klientów przez 'kid', a następnie przypomnieć stare.
Razem
Silny portal deweloperski to domyślna samoobsługa, obserwowalność i bezpieczeństwo. Daj jasne procesy wydawania/obracania/cofania żetonów, przejrzystych limitów i rozliczeń, wysokiej jakości dokumentacji i SDK, niezawodnych haków i audytów. Następnie integratory rozpoczną się szybko, a Twoja platforma pozostanie zarządzana, zgodna i stabilna pod obciążeniem.