该包的最新版本(dev-master)没有提供许可证信息。

与Bitwarden密钥管理器交互的PHP绑定。这是一个测试版,可能缺少一些功能。

dev-master 2023-11-20 23:39 UTC

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"]);