bitwarden / sdk
该包的最新版本(dev-master)没有提供许可证信息。
与Bitwarden密钥管理器交互的PHP绑定。这是一个测试版,可能缺少一些功能。
dev-master
2023-11-20 23:39 UTC
Requires
- php: ^8.0
- ext-ffi: *
- swaggest/json-schema: ^0.12.42
This package is auto-updated.
Last update: 2024-09-25 15:27:11 UTC
README
与Bitwarden密钥管理器交互的PHP绑定。这是一个测试版,可能缺少一些功能。支持对项目和密钥实体进行CRUD操作。
安装
要求
- PHP >= 8.0
- Composer
- 可以使用BitwardenSDK生成Bitwarden C库,并按照其readme中的说明进行操作(需要Rust)。https://github.com/bitwarden/sdk 如果您不使用该库的独立版本,文件将放在
target/debug
文件夹中,如果您是从BitwardenSDK存储库中使用的。 - Bitwarden账户的访问令牌
用法
首先,您需要从Bitwarden获取访问令牌以与客户端交互。您可以在将ClientSettings及其设置传递给BitwardenClient之前初始化它们。
$client_settings = new \Bitwarden\Sdk\Schemas\ClientSettings() $client_settings->apiUrl = getenv('API_URL') ?: 'https://api.bitwarden.com'; $client_settings->identityUrl = getenv('IDENTITY_URL') ?: 'https://identity.bitwarden.com'; $client_settings->userAgent = getenv('USER_AGENT') ?: 'SDK'; $client_settings->deviceType = getenv('DEVICE_TYPE') ?: 'SDK';
可以使用访问令牌执行授权,如下所示
$access_token = '<you access token here>'; $bitwarden_sdk = new \Bitwarden\Sdk\BitwardenClient($client_settings); $result = $bitwarden_sdk->authorize($access_token);
授权成功后,您可以与客户端交互以管理您项目和密钥。
// get project $res = $bitwarden_sdk->client->get("00056058-cc70-4cd2-baea-b0810134a729"); // list projects $res = $bitwarden_sdk->client->list('5688da1f-cc25-41d7-bb9f-b0740144ef1d'); // create project $res = $bitwarden_sdk->client->create('php project', '5688da1f-cc25-41d7-bb9f-b0740144ef1d'); // update project $res = $bitwarden_sdk->client->put('920fe206-ab3b-429d-a4b7-b0ac00e17acf', 'php project awesome', '5688da1f-cc25-41d7-bb9f-b0740144ef1d'); // delete project $res = $bitwarden_sdk->client->delete(['920fe206-ab3b-429d-a4b7-b0ac00e17acf']);
同样,您可以与密钥进行交互
// get secret $res = $bitwarden_sdk->secrets->get("75d3a7ff-30ed-433a-91aa-b099016e4833"); // list secrets $res = $bitwarden_sdk->secrets->list("5688da1f-cc25-41d7-bb9f-b0740144ef1d"); // create secret $res = $bitwarden_sdk->secrets->create("New Key", "hello world", "5688da1f-cc25-41d7-bb9f-b0740144ef1d", ["b23818dd-827b-4a22-b97a-b07e010ae9d4"], "123"); // update secret $res = $bitwarden_sdk->secrets->update("901d102d-af7d-46a1-99f5-b0a6017e2f07", "hello world 2", "hello", "5688da1f-cc25-41d7-bb9f-b0740144ef1d", ["b23818dd-827b-4a22-b97a-b07e010ae9d4"], "123"); // delete secret $res = $bitwarden_sdk->secrets->delete(["380b5c30-d8fc-472d-a514-b0ac00f17071"]);