You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

使用XenForo API需在请求头带Cookie,寻求无需频繁更换的方案

解决方案:用XenForo API密钥认证替代Cookie会话

XenForo的API支持更稳定的密钥认证方式,完全可以替代手动维护Cookie的方案,具体步骤如下:

  • 创建并配置API密钥
    登录论坛后台,进入设置 > API > API密钥页面,点击「创建API密钥」:

    • 填写密钥名称(比如“Posts API Access”)
    • 勾选需要的权限(比如post:read,根据你的接口调用需求选择)
    • 可选:设置允许的访问IP,提升安全性
    • 保存后,系统会生成密钥ID密钥秘钥,务必保存好秘钥(只会显示一次)
  • 用API密钥发起请求
    调用/api/posts接口时,不再需要Cookie,而是在请求头中添加两个字段:

    • XF-Api-Key:填入你保存的密钥秘钥
    • XF-Api-User(可选):指定执行操作的用户ID(比如管理员ID为1),如果不填,默认使用API密钥关联的用户权限

    示例curl命令:

    curl -X GET "https://your-forum-url.com/api/posts" \
         -H "XF-Api-Key: your-api-secret-key" \
         -H "XF-Api-User: 1"
    

    这样接口会直接返回JSON格式的帖子数据,不会返回登录页HTML。

  • 密钥的维护
    API密钥默认不会自动过期(除非你手动设置过期时间),如果需要更新或替换,直接在后台 revoke旧密钥,创建新的即可,操作比手动获取Cookie简单得多。如果密钥泄露,也能快速在后台禁用,避免安全风险。

注意:该功能要求XenForo版本为2.2及以上,若使用旧版本,建议升级到最新稳定版以支持API密钥认证。

内容的提问来源于stack exchange,提问作者Amr Hesham

火山引擎 最新活动