跳转到主要内容
除 /api/health、/api/setup/* 和 OpenAPI 模式外,每个 Octop API 调用都需要 JWT 访问令牌。通过凭据登录获取令牌,然后在后续每个请求的 Authorization 头中包含它。令牌默认 24 小时后过期;重新登录即可获取新令牌。
首次登录凭据取决于安装方式。裸机 octop init / 设置向导:到用户主目录打开 ~/octop-login.txt 读取一次性设置密码,再用您自设的管理员用户名和密码登录。Docker 首次启动:默认 admin / Octop123(同时写入 /data/.octop/credential.txt),除非您设置了 OCTOP_ADMIN_USERNAME / OCTOP_DEFAULT_PASSWORD。API 登录使用对应这套凭据。

登录并获取令牌

1

POST 您的凭据

将您的 username 和 password 发送到登录端点:
2

提取访问令牌

响应体包含您的 JWT 令牌以及角色和用户详情:
3

在 Authorization 头中传递令牌

在后续每个请求中将令牌作为 Bearer 凭证传递:

登录请求字段

string
必填
账户用户名。使用您在设置向导中创建的用户名(或之后通过用户管理创建的账户)。
string
必填
账户密码。使用您在设置向导中设置的密码(或之后重置的密码)。

登录响应字段

string
签名过的 JWT 令牌。将此值以 Bearer <access_token> 形式包含在 Authorization 头中。
string
账户的角色。为 "admin" 或 "user"。
object
已认证账户的基本资料信息。

令牌过期

令牌默认在 24 小时后过期。使用环境变量 OCTOP_ACCESS_TOKEN_TTL(以秒为单位)控制此值。令牌过期后,重新调用 POST /api/auth/login 获取新令牌。
通过 octop admin rotate-jwt-secret 轮换 JWT 密钥会立即使所有待处理令牌失效。轮换后每个用户都必须重新登录。

获取当前用户信息

获取当前已认证用户的资料:
响应包含 id、username、role、display_name、locale 等其他资料字段。

修改密码

无需管理员介入,自行修改密码:
成功响应返回 204 No Content。 新密码至少 8 位,须同时包含字母和数字,不能与当前密码相同,也不能是一小份常见弱口令列表中的值(例如 password123 或 admin123)。

OpenID Connect

管理员在管理 → 用户 → 单点登录中启用 OIDC。实例上已有用户后,登录页可以显示使用 {name} 继续。 通过 SSO 新建的账号是普通用户。如果他们需要改设置,再单独授权。

兑换邀请

持有邀请链接的人可以调用这些接口。管理员在管理 → 用户中创建邀请,或调用 POST /api/users/invites。详见用户与管理。

退出登录

在服务器端使当前令牌失效:
成功响应返回 204 No Content。

错误参考

设置 OCTOP_ENABLE_API_DOCS=1(或在 config.json 中设置 "enable_api_docs": true)并访问 http://127.0.0.1:8088/api/docs,可以使用内置的 Scalar 界面交互式探索每个端点——无需额外工具。