GH GambleHub

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

TypGdzie jest przechowywaneOkres życiaStosowanie
Token dostępu (JWT/nieprzezroczysty)klientkrótkie (5-60 min)autoryzacja wniosku
Odśwież tokenserwer klienckidługie (7-90 dni)Aktualizacja AT, rotacja
Klucz APIserwer klienckiprzed obrotemPodpis HMAC/proste uwierzytelnianie certa mTLS
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.
Iteracja 2 - niezawodność i bezpieczeństwo (3-4 tygodnie):
  • 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.
Iteracja 3 - skala i zgodność (ciągła):
  • 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.

Contact

Skontaktuj się z nami

Napisz do nas w każdej sprawie — pytania, wsparcie, konsultacje.Zawsze jesteśmy gotowi pomóc!

Rozpocznij integrację

Email jest wymagany. Telegram lub WhatsApp są opcjonalne.

Twoje imię opcjonalne
Email opcjonalne
Temat opcjonalne
Wiadomość opcjonalne
Telegram opcjonalne
@
Jeśli podasz Telegram — odpowiemy także tam, oprócz emaila.
WhatsApp opcjonalne
Format: kod kraju i numer (np. +48XXXXXXXXX).

Klikając przycisk, wyrażasz zgodę na przetwarzanie swoich danych.