GH GambleHub

开发门户和访问令牌

1)开发者门户的作用

Developer Portal是集成商的"前台":自助服务(钥匙,代币,webhook,票价计划),透明度(限制,使用,发票),安全(轮换,签名),集成速度(SDK,文档,沙箱)。

主要目标:
  • 将TTI(时间到集成)缩短到几个小时。
  • 提供访问可管理性:谁/什么/多少/何时。
  • 通过自动工具减轻支持负担。

2)登录和帐户

注册:电子邮件+2FA/SSO(SAML/OIDC);域确认(DNS令牌)。
组织和团队:"Owner","Admin","Developer","Billing","Security"的角色。
多功能:将应用程序绑定到组织;数据访问-通过tenant/环境。
KYC/B2B (opz.):对于企业-法人,合同,上面的限制。

3)应用程序和credenschels

应用程序类型为:"服务器到服务器","web","mobile","machine-to-machine","webhook-consumer"。

3.1 Keys API(服务器到服务器,简单集成)

ID "key_id"+密码"key_secret"(一次可见)。
绑定到计划和scopes集。
查询签名(HMAC)和/或标题"授权:ApiKey <key_id>:<signature>'。

3.2 OAuth2/OIDC(建议)

赠款:
  • Client Credentials(计算机)。
  • Authorization Code (+PKCE) (user-delegated).
  • Refresh Token(离线访问,RT轮换)。
  • 设备代码(电视/控制台)。

3.3 mTLS(附加级别)

互惠的TLS in ingress;证书通过门户下载;将'cert_fingerprint'绑定到应用程序。

4)代币: 类型和生命周期

类型存储在哪里寿命使用情况
Access Token (JWT/opaque)客户端短(5-60分钟)请求授权
Refresh Token客户端服务器长(7-90天)AT更新,轮换
API Key客户端服务器在轮换之前HMAC 签名/mTLS认证简单
原则:
  • 短AT+长RT;RT-滚动旋转(旋转使用)。
  • 按键/应用/组织强制召回(revoke)。
  • Pere发行,但仍保留scopes/配额限制。

4.1 JWT格式(示例)

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

公共密钥在JWKS上发布;"kid"轮换。

4.2 Opaque令牌和Introspection

存储在Auth服务器"token_store" (Redis/SQL)中。
内断:"active","scope","exp","client_id","org","tenant"。

5)Scopes,角色和访问策略

Scopes描述操作("wallet:read","wallet:write","report: read")。
角色由scopes汇总("Developer","Billing")。
ABAC:"org","tenant","region","environment"的属性。

政客: "这个关键只是'eu-west-1'和'read'。"

步进:关键技术需要高级scopes或mTLS。

6)配额,限制和关税

Rate limits: RPS/RPM, burst.

配额:日/月,贷款。
按键/附录/组织/tenant。
该门户显示了usage,"X-RateLimit-"和"X-Cota-"的标题以及覆盖预测。
计费:与计划捆绑在一起,按事件计费,发票和计费网络手册。

7)网络包管理

注册结束点,秘密,事件版本。
测试交付和重播;尝试逻辑(2xx/4xx/5xx)。
HMAC签名("X-Signature"),"X-Webhook-Id",重复数据消除,尊重"410"。

8)文档和SDK

带有SDK自动生成的OpenAPI/AsyncAPI。
Cookbook:查询示例,retrai,幂等,分离,webhooks。
尝试播放(带有沙键)。
Version Changelog和解密页面。

9)沙盒和测试数据

孤立的环境:"sandbox","staging","production"。
测试实体(玩家,事务)和脚本(win/lose,延迟,5xx,429)。
从门户和周围环境进行数据搜索。

10)保密和保密

Hash Key API秘密(不公开存储);一次显示密钥。
签名令牌的秘密管理器(KMS/HSM);"kid"键轮换。
IP allowlist、地理约束、ASN过滤器。
2FA/SSO,硬件密钥(WebAuthn)。
防擦保护:CAPTCHA在创建时,反机器人启发式,注册速度。
没有PII/秘密的逻辑;按模板进行干预。

11)审核和合规性

审核日志:谁创建/查看/回收了密钥,修改了webhook,下载了报告。
GDPR/DSAR:卸载和删除应用程序/组织数据。
存储策略:TTL for Log,法律保留事件。
使用条件/公平使用和出口限制。

12)管理和运营

大规模召回事件/损害令牌。
暂时暂停应用程序(suspend),包括原因和上诉。
按键滚动(双键模式:"active/next")。
事件通讯:状态页面、邮件、RSS/webhooks状态。

13)门户的UI/UX(关键屏幕)

Dashboard组织:使用/错误/SLO/计费。

应用: 密钥,令牌,scopes,限制,webhooks,环境.

带有过滤器和Replay按钮的webhook交付日志。
令牌控制台:发布/评论,历史,原因。
文档和SDK,Quickstart,示例代码(复制粘贴)。
"消除和迁移"部分。

14)合同和configs示例

14.1个OpenAPI(片段)

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令牌内测(回答)

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密钥策略(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)筛选和清除过程

API的语义版本("/v1","/v2"),兼容性"添加,不要中断"。
门户网站显示:"什么会过时",到什么日期,以及"如何迁移"。
迁移指南,测试沙盒"v2",双写作/双读。

16)可观察性和报告

Usage →收入:查询/贷款时间表/overage。
状态错误/"error_code",潜伏直方图。
SLO小部件:关键手柄的可用性和p95。
导出CSV/JSON,报告网络手册,用于分析的API。

17)支票单

17.1安全性

[2FA/SSO],域确认/邮件

  • 一次显示秘密,散列存储
  • JWKS和钥匙轮换,"kid"
  • mTLS (opz.),IP allowlist,geo/ASN过滤器
  • 反机器人/反颠覆,rate-limit创建密钥
  • 操作和访问审核记录

17.2 DX/Onbording

  • Quickstart ≤ 5分钟
  • 具有相同曲面的SDK (TS/Py/Java/Go/.NET)
  • Playground+沙键
  • Cookbook: webhooks、degination、retrai、idementity
  • 限制/计划/价格页面
  • "复制粘贴"示例"

17.3个行动

  • 大规模代币召回,suspend app
  • 事件/状态页面+订阅
  • webhook的DLQ/Replay
  • 即将用尽配额的自动警报
  • 月度报告和发票

18)实施计划(3次迭代)

迭代1-MVP(2-3周):
  • 组织/应用程序注册,Keys API发布,客户端信用OAuth2,基本限制(RPS/配额),查询日志和使用图形,文档以及沙箱TS/Python SDK。
迭代2-可靠性和安全性(3-4周):
  • JWT+JWKS,键轮换,Refresh Token+rotate-on-use,授权2FA/SSO,webhooks(签名,retries,拼写,复制),计费webhooks,报告和导出,角色和ABAC。
迭代3-比例和合规性(连续):
  • mTLS,管理工具(mass revoke/suspend),v2解密和迁移,Java/Go/.NET SDK,finops-dashbords,GDPR/DSAR,Legal Hold,高级防伪。

19)迷你常见问题

JWT还是opaque?
JWT很方便,无需查询Auth服务器(签名/"kid"),操作更易于召回和隐藏内容。它们通常同时使用:外部的JWT,内部的opaque带有内窥镜。

Access Token有多少人居住?

短:5-15分钟用于用户,15-60分钟用于机器。由refresh机械师补偿。

如何安全地轮换密钥?

保持"active/next",在JWKS上同时发布,在"kid"上切换客户,然后召回旧客户。

底线

强大的开发者门户网站是自助服务,可观察性和默认安全性。提供清晰的令牌发布/轮换/召回流程、透明的限额和计费、高质量的文档和SDK、可靠的网络手册和审核。然后,集成商将快速启动,您的平台将在负载下保持可控、兼容和稳定。

Contact

联系我们

如需任何咨询或支持,请随时联系我们。我们随时准备提供帮助!

开始集成

Email — 必填。Telegram 或 WhatsApp — 可选

您的姓名 可选
Email 可选
主题 可选
消息内容 可选
Telegram 可选
@
如果填写 Telegram,我们也会在 Telegram 回复您。
WhatsApp 可选
格式:+国家代码 + 号码(例如:+86XXXXXXXXX)。

点击按钮即表示您同意数据处理。