keestash/php-sdk

与Keestash交互的SDK

0.0.2 2023-06-25 09:21 UTC

This package is auto-updated.

Last update: 2024-09-27 17:48:59 UTC


README

Keestash SDK是一个代码集合,用于简化与Keestash实例的交互。基本思想是一次性配置SDK,然后轻松地在远程Keestash服务器上创建、更新、删除资源。

SDK仍在开发中。根据需要添加服务类。如果您需要某些功能,请提交pull request或开启支持工单。

安装

使用composer包管理器安装Keestash SDK。

composer install keestash/sdk

使用方法

首先,您需要实现\Keestash\Sdk\Service\Api\ApiCredentialsInterface接口,以便为SDK提供API URL和凭证。API URL需要用于所有发送到Keestash的请求,而用户哈希和用户令牌并非必须提供。

class ApiCredentialsProvider implements \Keestash\Sdk\Login\Entity\ApiCredentialsInterface {

    public function getApiUrl(): string
    {
        return 'your-keestash.server/api.php';
    }

    public function getUserToken(): ?string
    {
        return <userToken>;
    }

    public function getUserHash(): ?string
    {
        return <userHash>;
    }
}

提供您的Keestash实例的URL后,您可以调用登录端点

$keestashClient = new \Keestash\Sdk\Client\KeestashClient(
    new GuzzleHttp\Client(),
    new ApiCredentialsProvider()
);

$login = new \Keestash\Sdk\Login\Login($keestashClient);
$data = $login->login(<username>, <password>);
var_dump($data);

登录端点在成功时返回用户哈希和令牌。您需要这些信息来对所有认证请求进行认证。请确保您的类实现了\Keestash\Sdk\Service\Api\ApiCredentialsInterface,并使用返回的值进行所有后续请求。

require __DIR__ . '/vendor/autoload.php';

// create credential
$c = new \Keestash\Sdk\PasswordManager\Entity\Credential(
    'test-password',
    'theusername',
    'topsecret',
    'root',
    'https://keestash.com'
);

$credential = new \Keestash\Sdk\PasswordManager\Credential\Credential($keestashClient);
$credential->create($c);

// create folder
$folder = new \Keestash\Sdk\PasswordManager\Folder\Folder($keestashClient);
$folder->create(new \Keestash\Sdk\PasswordManager\Entity\Folder('test-folder', 'root'));

贡献

欢迎提交pull request。对于重大更改,请首先提交一个issue进行讨论。

请确保根据需要更新测试。

许可

AGPLv3