GH GambleHub

Portail des développeurs et jetons d'accès

1) Le rôle du portail des développeurs

Developer Portal est un « front office » pour les intégrateurs : libre-service (clés, jetons, webhooks, plans tarifaires), transparence (limites, utilisation, factures), sécurité (rotation, signatures), vitesse d'intégration (SDK, documentation, bac à sable).

Objectifs clés :
  • Réduire le TTI (time-to-integrate) à des heures.
  • Donner la gérabilité de l'accès : qui/quoi/combien/quand.
  • Réduire la charge de travail sur le support par le biais d'outils automatiques.

2) Onbording et comptes

Inscription : email + 2FA/SSO (SAML/OIDC) ; Confirmation de domaine (token DNS).
Organisations et équipes : rôles 'Owner', 'Admin', 'Developer', 'Billing', 'Security'.
Multi-tenant : lier les applications aux organisations ; l'accès aux données est par tenant/environnement.
KYC/B2B (opz.) : pour Enterprise - entité juridique, contrat, limites supérieures.

3) Annexes et credenshels

Types d'applications : 'server-to-server', 'web', 'mobile', 'machine-to-machine', 'webhook-consumer'.

3. 1 API Keys (server-to-server, intégrations simples)

Identifiant 'key _ id' + secret 'key _ secret' (visible une fois).
Ancrage au plan et aux jeux de scopes.
Signature des requêtes (HMAC) et/ou en-tête 'Autorisation : ApiKey <key_id>:<signature>'.

3. 2 OAuth2/OIDC (recommandé)

Subventions :
  • Client Credentials (machines).
  • Authorization Code (+PKCE) (user-delegated).
  • Refresh Token (accès hors ligne, rotation RT).
  • Code de périphérique (TV/consoles).

3. 3 mTLS (niveau dopé)

TLS réciproque sur ingress ; les certificats sont téléchargés via le portail ; la liaison 'cert _ fingerprint' à l'application.

4) Tokens : types et cycle de vie

TypeOù est stockéDurée de vieUtilisation
Access Token (JWT/opaque)clientcourt (5-60 min)autoriser les demandes
Refresh Tokenserveur clientlong (7-90 jours)mise à jour AT, rotation
API Keyserveur clientavant la rotationSignature HMAC/authentification simple mTLS cert
Principes :
  • Court AT + long RT ; RT est une rotation glissante (rotate-on-use).
  • Révocation forcée (revoke) par clé/application/organisation.
  • Pere-extradition avec maintien des restrictions sur les scopes/quotas.

4. 1 Format JWT (exemple)

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..."
}

Les clés publiques sont publiées dans le JWKS ; rotation par 'kid'.

4. 2 jetons Opaque et Introduction

Stockez « token _ store » (Redis/SQL) dans le serveur Auth.
Introspection : 'active', 'scope', 'bou', 'client _ id', 'org', 'tenant'.

5) Scopes, rôles et politiques d'accès

Scopes décrivent l'opération (' wallet:read ', ' wallet:write ', ' report:read ').
Les rôles agrégent les scopes (« Developer », « Billing »).
ABAC : attributs 'org', 'tenant', 'région', 'environnement'.
Politiques : « cette clé n'est que 'eu-west-1' et 'read' ».
Step-up : les méthodes critiques nécessitent des scopes étendus ou mTLS.

6) Quotas, limites et tarifs

Rate limits: RPS/RPM, burst.
Quotas : jour/mois, crédits.
Par clé/application/organisation/tenant.
Le portail montre l'utilisation, les titres « X-RateLimit- » et « X-Quot », ainsi que la prévision de l'overage.
Facturation : lien avec le plan, mesure par événement, factures et webhooks de facturation.

7) Gestion des webhooks

Enregistrement des endpoint's, secrets, versions des événements.
Essai-livraison et replay ; logs de tentative (2xx/4xx/5xx).
Signatures HMAC ('X-Signature'), 'X-Webhook-Id', déduplication, respect '410'.

8) Documentation et SDK

OpenAPI/AsyncAPI avec génération auto SDK.
Cookbook : exemples de demandes, retraits, idempotence, pagination, webhooks.
Try-it playground (avec des clés de sable).
Version Changelog et page de dépressions.

9) Sandbox et données de test

Environnements isolés : 'sandbox', 'staging', 'production'.
Entités de test (joueurs, transactions) et scripts (win/lose, retards, 5xx, 429).
Seeding de données à partir du portail et réinitialiser l'environnement.

10) Sécurité et stockage des secrets

Hachage des secrets de l'API Key (ne pas stocker en public) ; Afficher la clé une fois.
Un gestionnaire de secrets (KMS/HSM) pour les jetons de signature ; rotation des clés 'kid'.
IP allowlist, géo-contraintes, filtres ASN.
2FA/SSO, clés matérielles (WebAuthn).
Protection Abyse : CAPTCHA lors de la création, anti-bot heuristique, vitesse d'enregistrement.
Logs sans PII/secrets ; redaction par modèles.

11) Audit et conformité

Audit-log : qui a créé/examiné/retiré la clé, modifié le webhook, téléchargé le rapport.
GDPR/DSAR : déchargement et suppression des données de l'application/organisation.
Stratégies de stockage : TTL pour les logs, Legal Hold en cas d'incident.
Terms of Use/Fair Use et restrictions à l'exportation.

12) Administration et opérations

Rappel massif de tokens par incident/compromission.
Suspension temporaire de l'application (suspend) avec cause et appel.
Roll-over de clés (mode à deux clés : 'active/next').
Incident-com : page de statut, mailings, RSS/webhooks de statut.

13) Portail UI/UX (écrans clés)

Organisation Dashboard : utilisation/erreurs/SLO/facturation.
Application : clés, jetons, scopes, limites, webhooks, environnements.
Logs de livraison de webhooks avec filtres et bouton Replay.
Token Console : sortie/retour, historique, raisons.
Documentation et SDK, Quickstart, exemples de code (copier-coller).
Section « Dépréciation et migration ».

14) Exemples de contrats et de configues

14. 1 OpenAPI (fragments)

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 Introspection de token (réponse)

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 Politique des clés (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) Processus de versioning et de déportation

Versions sémantiques de l'API ('/v1 ', '/v2'), compatibilité « ajoute, ne casse pas ».
Le portail montre : « ce qui est obsolète », jusqu'à quelle date, et « comment migrer ».
Guides de migration, bac à sable 'v2', dual-write/dual-read si possible.

16) Observation et rapport

Utilisation → chiffre d'affaires : graphiques des demandes/crédits/overidges.
Erreurs d'état/' error _ code ', histogrammes de latence.
Widgets SLO : disponibilité et p95 pour stylos clés.
Exportation CSV/JSON, rapports Web, API pour l'analyse.

17) Chèques-feuilles

17. 1 Sécurité

  • 2FA/SSO, confirmation de domaine/courrier
  • Afficher les secrets une fois, hachage
  • JWKS et rotation des clés, 'kid'
  • mTLS (opz.) , IP allowlist, filtres geo/ASN
  • Anti-bot/anti-abuse, rate-limit sur la création de clés
  • Audit-journal des actions et accès

17. 2 DX/Onbording

  • Quickstart ≤ 5 minutes
  • SDK (TS/Py/Java/Go/.NET) avec la même surface
  • Playground + clés de sable
  • Cookbook : webhooks, pagination, retrai, idempotentialité
  • Page limites/plans/prix
  • Exemples de copier-coller

17. 3 Opérations

  • Rappel massif de tokens, suspend app
  • Page incidents/statut + abonnement
  • DLQ/Replay pour webhooks
  • Auto-alertes sur l'épuisement proche des quotas
  • Rapports mensuels et factures

18) Plan de mise en oeuvre (3 itérations)

Itération 1 - MVP (2-3 semaines) :
  • Enregistrement org/applications, émission d'API Keys, Client Credentials OAuth2, limites de base (RPS/quotas), logs de requête et graphiques d'utilisation, documentation et SDK TS/Python, bac à sable.
Itération 2 - Fiabilité et sécurité (3-4 semaines) :
  • JWT + JWKS, rotation de clé, Refresh Token + rotate-on-use, 2FA/SSO de mandat, webhooks (signatures, retraits, logging, replay), webhooks de facturation, rapports et exportations, rôles et ABAC.
Itération 3 - Échelle et conformité (continue) :
  • mTLS, outils admin (mass revoke/suspend), déprogrammation et migration v2, SDK Java/Go/.NET, dashboards, GDPR/DSAR, Legal Hold, anti-abyse avancée.

19) Mini-FAQ

JWT ou opaque ?
JWT est pratique sans demander au serveur Auth (signature/' kid '), opaque - plus facile à retirer et cache le contenu. Ils utilisent souvent les deux : à l'extérieur JWT, à l'intérieur - opaque avec introspection.

Combien vit Access Token ?
Court : 5-15 minutes pour les personnalisés, 15-60 minutes pour les machines. Compensé par la mécanique refresh.

Comment faire tourner les clés en toute sécurité ?
Gardez 'active/next', publiez les deux dans JWKS, passez les clients à 'kid', puis rappelez l'ancien.

Résultat

Le portail fort des développeurs est le libre-service, l'observation et la sécurité par défaut. Donnez des processus de sortie/rotation/rappel de token compréhensibles, des limites transparentes et de facturation, de la documentation de qualité et des SDK, des webhooks fiables et des audits. Ensuite, les intégrateurs démarrent rapidement et votre plateforme restera gérable, compacte et résistante sous charge.

Contact

Prendre contact

Contactez-nous pour toute question ou demande d’assistance.Nous sommes toujours prêts à vous aider !

Commencer l’intégration

L’Email est obligatoire. Telegram ou WhatsApp — optionnels.

Votre nom optionnel
Email optionnel
Objet optionnel
Message optionnel
Telegram optionnel
@
Si vous indiquez Telegram — nous vous répondrons aussi là-bas.
WhatsApp optionnel
Format : +code pays et numéro (ex. +33XXXXXXXXX).

En cliquant sur ce bouton, vous acceptez le traitement de vos données.