Files
xk-hy-transit-go/docs/FILEAUTH.md
2026-06-04 08:15:50 +08:00

1.6 KiB
Raw Permalink Blame History

FileAuth 上传凭证FileAuth.java

生产与 docs/FileAuth.javacreateUploadToken 完全一致HMAC 对 policy JSON 明文)。

生产 putPolicy

{"scope":"<bucket>","deadline":<unix>}
  • scope仅 bucket 名(如 other-doc不要 bucket:filename
  • returnBody
  • HTTP 上传为 §2.3.4 表单上传multipart/form-data,字段名 file,请求头 X-Authorization: <uploadToken>

生成步骤

说明
1 构造 putPolicy JSON字段顺序scopedeadline
2 sign = urlsafe_base64( HMAC-SHA1(secret, UTF-8(policyJSON)) )
3 policyB64 = urlsafe_base64( UTF-8(policyJSON) )
4 uploadToken = AccessKey + ':' + sign + ':' + policyB64

Base64 填充

环境变量 说明
FILEAUTH_B64=padded(默认) URL-safe Base64 =(对应 Java Base64.URL_SAFE | NO_WRAP
FILEAUTH_B64=raw 无填充(联调仍 403 时可试)

错误对照

HTTP body 含义
forbidden forward-goIP / X-Forward-Token
404(纯文本)+ 403 已过 forward政务云 token 验签失败

Web 调试

  • /fileauth:生成 upload profile token
  • /uploadA=Runner 默认 tokenB=本次上传 tokenInfoscope 应为 bucket

实现:internal/fileauth/upload.go

上传频率

internal/hyfile/throttle.goFILE_UPLOAD_MIN_INTERVAL(默认 10s)。