Bitwarden 公共 API
Bitwarden Public API 为组织提供了一套用于管理成员、集合、群组、事件日志和策略的工具。
此 Public API 是一种 RESTful API,RESTful API 具有可预测的面向资源的 URL,接受 JSON 编码的请求正文,返回 JSON 编码的响应,并使用标准的 HTTP 响应代码、验证和动态词。
- 对于自托管实例:https://your.domain.com/api/docs/
[译者注]:Swagger-UI 是一套 HTML/CSS/JS 框架,用于解析遵守 Swagger 规范的 JSON 或 YAML 文件,展示 swagger-editor 生成的 API 文档,还可以在其中调试 API。它将我们编写的 OpenAPI 规范呈现为交互式的 API 文档,使用浏览器来查看并且操作我们的 RESTful API。
对于云托管:
https://api.bitwarden.com
对于自托管:
https://your.domain.com/api
对于云托管:
https://identity.bitwarden.com/connect/token
对于自托管:
https://your.domain.com/identity/connect/token
API 使用承载访问令牌对受保护的 API 端点进行验证。Bitwarden 使用 OAuth2 客户端凭据应用程序请求流来从端点授予承载访问令牌。验证请求将
client_id
和 client_secret
作为必要的参数。用于验证公共 API 的 API 密钥与个人 API 密钥是不同的。组织 API 密钥的
client_id
格式为 "organization.ClientId"
,而个人 API 密钥的 client_id
格式为 "user.clientId"
。API 密钥
client_id
和 client_secret
可以由所有者从网页密码库获得,方法是通过导航到组织设置 → 我的组织,并向下滚动到 API 密钥部分:获取组织 API 密钥
您的组织 API 密钥具有对您的组织的完全访问权限。请妥善保管您的 API 密钥。如果您认为您的 API 密钥已经泄露,请在此界面上选择轮换 API 密钥按钮。当前 API 密钥的有效实施需要在使用前用新的密钥重新配置。
要获取承载访问令牌,请与您的
client_id
和 client_secret
一起使用Content-Type: application/x-www-form-urlencoded
向验证端点发送 POST
请求。当使用用于组织管理的 API 时,您将始终使用 grant_type=client_credentials
和 scope=api.organization
。例如:curl -X POST \
https://identity.bitwarden.com/connect/token \
-H 'Content-Type: application/x-www-form-urlencoded' \
-d 'grant_type=client_credentials&scope=api.organization&client_id=<ID>&client_secret=<SECRET>'
该请求将 返回如下响应:
{
"access_token": "<TOKEN>",
"expires_in": 3600,
"token_type": "Bearer"
}
Bitwarden Public API 与
application/json
请求和响应进行通信,但有一个例外:验证端点期望一个 application / x-www-form-urlencoded
请求时,将只以 application/json
响应。curl -X GET \
https://api.bitwarden.com/public/collections \
-H 'Authorization: Bearer <TOKEN>'
该请求将返回如下响应:
{
"object": "list",
"data": [
{
"object": "event",
"type": 1000,
"itemId": "string",
"collectionId": "string",
"groupId": "string",
"policyId": "string",
"memberId": "string",
"actingUserId": "string",
"date": "2020-11-04T15:01:21.698Z",
"device": 0,
"ipAddress": "xxx.xx.xxx.x"
}
],
"continuationToken": "string"
}
状态代码 | 描述 |
---|---|
200 OK | 一切都按预期进行。 |
400 Bad Request | 该请求不可接受。可能是由于参数丢失或格式错误。 |
401 Unauthorized | 承载访问令牌丢失、无效或过期。 |
404 Not Found | 所请求的资源不存在。 |
429 Too Many Requests | 太多请求太快到达 API。我们建议缩减请求数。 |
500, 502, 503, 504 Server Error |
有关使用 Bitwarden Public API 的更多信息,请参阅以下文章:
最近更新 2mo ago