• 简体中文
  • GitHub 配置

    创建 Fine-grained PAT

    1. 打开 GitHub → Settings → Developer settings → Personal access tokens → Fine-grained tokens
    2. New token
    3. Repository access 选 Only select repositories,只勾选评论数据仓库
    4. Permissions → Repository permissions → Contents: Read and write
    5. 生成后立刻复制,页面关闭后无法再次查看

    为什么必须单仓库

    PAT 的权限边界就是这台评论系统的爆炸半径。只授权一个仓库时,泄露最多让攻击者往评论仓库写垃圾文件。授权过宽时,泄露等于把更多仓库交出去。

    关于 GITHUB_SECRET

    COMMENTS_SECRET 是另一把密钥,和 PAT 无关。它用来派生审批签名与邮箱加密钥匙。泄露它意味着攻击者能伪造审批链接,因此同样要保密。

    轮换

    • PAT 轮换:在 GitHub 撤销旧 token,在部署平台更新 GITHUB_TOKEN,重新部署
    • COMMENTS_SECRET 轮换:所有未使用的审核链接立即失效;已写入的加密邮箱带指纹,旧钥可临时保留用于解密

    权限自检

    部署后访问 /api/health,git.readable 为 true 说明 PAT 至少能读。写入权限只能在批准一条评论时验证。

    常见 403 原因:

    • PAT 没有勾选该仓库
    • 权限里内容只给了 Read,不是 Read and write
    • 仓库名大小写或 owner/repo 拼写错误