OpenClaw学习总结_IV_认证与安全_1:OAuth与认证详解

IV. 认证与安全 - 1. OAuth 与认证

📍 课程位置

阶段 :IV. 认证与安全
课序 :第 1 课
前置知识 :I. 核心架构(Gateway/Agent/Session)
后续课程:IV-2. Authentication


🎯 本课核心问题(你不懂我就这样教你)

你在使用 OpenClaw 时,迟早会遇到这些问题:

  1. 我在哪里填模型 API Key?填错了会怎样?
  2. Setup-token / API key / OAuth 到底有什么区别?
  3. 为什么配置错了 Gateway 可能直接起不来?
  4. 多 Agent / 多账号时,凭证怎么隔离,才不会串用?

一句话:

认证(Auth)就是"让 OpenClaw 有权限调用外部服务"的一套机制;OAuth 是其中一种更标准、更安全的方式。


🧠 心智模型:认证 = 门禁卡,OAuth = 可回收的临时门禁卡

类比:

  • API Key:像一张"万能门禁卡",丢了就麻烦
  • Setup-token:像"办卡时的一次性验证码",用来换到真正门禁
  • OAuth:像"你授权我一段时间进门",可撤销、可续期、更可控

你要的目标是:

  • 能用(可用性)
  • 可控(安全)
  • 可隔离(多 Agent/多账号)

✅ 验收标准

  • 知道三种认证方式(API Key / Setup-token / OAuth)的用途
  • 知道凭证存储在哪里
  • 知道如何做多 Agent 的凭证隔离
  • 知道"认证问题"怎么排查

1) API Key(最常见)

什么时候用

  • 你有一个提供商的 key(OpenAI/Anthropic)
  • 直接填进去就能用

风险

  • key 一旦泄露,可能被刷爆
  • 难以精细授权

建议

  • key 只放在 OpenClaw 的 credentials 系统里
  • 不要到处复制粘贴
  • 定期轮换

2) Setup-token(一次性换取真正凭证)

什么时候用

  • 某些提供商会给你一个一次性 setup-token
  • 你用它换取可长期使用的 key/refresh token

关键点

  • setup-token 不是长期凭证
  • 用完就应该丢弃

3) OAuth(推荐:可控、可撤销)

什么时候用

  • 需要更标准的授权流程
  • 希望能撤销授权、自动刷新
  • 多账号场景更清晰

为什么更安全

  • 你不用把长期 key 暴露给每个地方
  • 授权可以撤销
  • token 可以自动刷新

📁 凭证存储在哪里?(你必须知道)

OpenClaw 通常会把凭证放在类似这些位置(不同版本可能略有差异,但思想一致):

  • ~/.openclaw/credentials/:全局/通用凭证
  • ~/.openclaw/agents/<agentId>/agent/auth-profiles.json:某个 agent 的认证配置

原则

  • 凭证应该尽量 per-agent 隔离
  • 不同 agent 用不同 key/不同 oauth profile

🔐 多 Agent / 多账号:最重要的隔离策略

你要避免这种事故:

  • work agent 用了 home 的 key
  • 某个 key 被限流导致所有 agent 全挂

推荐做法:

  1. 多 Agent:work/home 分开 workspace
  2. 每个 Agent 单独一套 auth profile
  3. 至少一个跨提供者 failover(上一阶段已讲)

🧪 排障:怎么判断是认证问题?

常见症状:

  • 401 / 403
  • provider 报 invalid_api_key
  • setup-token 过期
  • OAuth refresh 失败

排障顺序:

  1. 看 gateway/agent 日志里 provider 错误
  2. 检查当前 agent 的 auth profile
  3. 检查 key 是否被撤销/过期
  4. 必要时重新授权/轮换 key

⚠️ 常见陷阱

陷阱 表现 原因 解决
把 setup-token 当长期 key 用一阵就失效 setup-token 一次性 用 setup-token 换长期凭证
多 agent 共用一个 key 一处限流全挂 缺少隔离 per-agent auth profiles
key 泄露 费用暴涨 放进仓库/聊天记录 只放 credentials,立即轮换
OAuth 不刷新 过期后全部失败 refresh 流程断 重新授权/检查回调配置

📝 学习心得

认证这章的核心不是"怎么填 key",而是"怎么不翻车":

  • 凭证一定要隔离(per-agent)
  • setup-token 只是入场券,不是门票
  • OAuth 更可控,适合多账号
  • 任何认证问题都要能快速定位和回滚

✅ 本课总结(记住 5 句话)

  1. API Key 最常见,但泄露风险高,要轮换。
  2. setup-token 是一次性换取真正凭证的"验证码"。
  3. OAuth 更标准、更可控,可撤销、可刷新。
  4. 多 Agent 一定要做 per-agent 凭证隔离。
  5. 认证问题排查:先看日志,再看 auth profile,再轮换/重授。

🔗 相关资源

相关推荐
AI云海8 小时前
利用好手机这个工具-碎片化学习
学习
不像程序员的程序媛8 小时前
系统cpu内存负载资源分析
运维·服务器·数据库
带娃的IT创业者9 小时前
突破算力与安全的边界:深度解析 Mythos AI 的“受信发布”机制与技术影响
人工智能·安全·大语言模型·ai安全·mythos ai·受信发布·ai监管
落寞的星星9 小时前
引言:加密不等于安全
安全
SRET10 小时前
Mineradio 沙盒隔离安装完全指南 | 一键安全运行 Electron 应用!!!
javascript·经验分享·安全·electron·aigc·音视频·ai编程
全栈前端老曹10 小时前
【MongoDB】安全与权限管理 —— 用户认证、角色权限、SSL 加密
前端·javascript·数据库·安全·mongodb·nosql·ssl
星河耀银海10 小时前
大模型安全:对抗攻击与防御方法
人工智能·安全·大模型
广东帝工智能安防10 小时前
智能设防精准预警,筑牢内河桥梁通航安全防护网
安全·桥梁防撞·智慧航道·防撞预警系统
β添砖java11 小时前
2025最新快速构建企业级虚拟专用网络环境学习笔记
笔记·学习
耍酷的魔镜12 小时前
谈谈如何使用Netty开发实现高性能的RPC服务器
服务器·网络协议·rpc