认证

以下认证方法仅适用于自托管的 Umami。对于 Umami Cloud,您只需生成一个 API 密钥

POST /api/auth/login

首先,您需要获取一个 token 以进行 API 请求。您需要向 /api/auth/login 端点发送一个包含以下内容的 POST 请求:

{
  "username": "your-username",
  "password": "your-password"
}

如果成功,您应该会收到如下响应:

{
  "token": "eyTMjU2IiwiY...4Q0JDLUhWxnIjoiUE_A",
  "user": {
    "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "username": "admin",
    "role": "admin",
    "createdAt": "2000-00-00T00:00:00.000Z",
    "isAdmin": true
  }
}

保存 token 值,并在所有数据请求中通过 Authorization 头发送,格式为 Bearer <token>。您的请求头应该如下所示:

Authorization: Bearer eyTMjU2IiwiY...4Q0JDLUhWxnIjoiUE_A

例如,使用 curl 时如下所示:

curl https://{yourserver}/api/websites
   -H "Accept: application/json"
   -H "Authorization: Bearer <token>"

带权限的 API 调用均需包含此授权 token。


POST /api/auth/verify

您可以验证 token 是否仍然有效。

示例响应

{
  "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "username": "admin",
  "role": "admin",
  "createdAt": "2000-00-00T00:00:00.000Z",
  "isAdmin": true,
  "teams": []
}