Skip to main content

认证概述

Waffo Pancake 支持两种 API 访问认证方式:

API Key 认证

API Key 提供基于 RSA-SHA256 签名的永久服务端到服务端认证。私钥始终保存在您的服务器上。

请求头

API Key 认证不需要 X-Environment 请求头。 每个 API Key 在创建时已绑定到 test 或 prod 环境。系统通过验证签名成功的密钥来确定环境。

使用 SDK(推荐)

签名算法(手动集成)

如果您不使用 SDK,需要自行实现 RSA-SHA256 请求签名:

手动签名示例

私钥安全
  • 切勿在客户端代码中暴露私钥
  • 不要将私钥提交到版本控制系统
  • 将私钥存储在环境变量中
  • 定期轮换密钥,尤其是团队人员变动后
  • 时间戳最多可比服务器时间早 5 分钟,最多可比服务器时间晚 1 分钟
保持服务器时钟与 NTP 同步时间戳的可接受窗口是不对称的:从服务器时间之前 5 分钟到服务器时间之后 1 分钟。时钟走快是更紧的约束 —— 如果您的服务器时钟快了超过 1 分钟,即使签名本身正确,每个已签名请求都会被拒绝并返回 401 Unauthorized

Store Slug 认证

对于面向公众的收银台流程,使用 Store Slug 认证。这允许访客在无需 API Key 凭证的情况下创建收银台会话和查询公开的门店数据。

请求头

示例


创建 API Key

1

进入 API 与开发页面

导航至 Dashboard → API 与开发 → API Keys
2

创建 API Key

点击 “Create API Key” 生成新的 RSA 密钥对。公钥会自动发送到服务器。
3

命名和配置

为其设置一个描述性名称(例如 “Production Server”),并选择目标环境(Test 或 Production)。
4

下载私钥

立即下载您的私钥。 私钥不会再次显示。
删除 API Key 是即时且不可逆的操作。使用已删除密钥签名的所有请求都将返回 401 Unauthorized

认证方式对比


认证错误


安全最佳实践

  1. 切勿暴露私钥 — 不要放在客户端代码、版本控制或公开仓库中
  2. 使用 HTTPS 进行所有 API 请求
  3. 验证 Webhook 签名 以防止伪造请求
  4. 分离测试和生产密钥 — 为每个环境创建独立的密钥
  5. 定期轮换密钥,尤其是团队成员变动后
  6. 监控 API 使用情况 — 在 Dashboard 中查看异常活动