PHP клиентская библиотека для службы Hashicorp Vault. Этот клиент следует за данными запроса и ответа, равным документации клиента Hashicorp Vault.
Не стесняйтесь открывать запросы на тягу, чтобы добавить улучшения или отсутствие функциональности.
composer require mittwald/vault-php
// setting up independent http client
$ httpClient = new Client ();
// setting up vault auth provider
$ auth = new Token ( ' foo ' );
// creating the vault request client
$ client = new VaultClient (
$ httpClient ,
$ auth ,
' http://127.0.0.1:8200 '
);
// selecting the desired secret engine
// e.g. Transit Secret Engine
$ api = new Transit ( $ client );
// calling specific endpoint
$ response = $ api -> listKeys ();
//reading results
var_dump ( $ response -> getKeys ());
//...
//...
//Profit... public function __construct(
HttpClient $ httpClient ,
AuthenticationProviderInterface $ authProvider ,
string $ apiHost
) HttpClient принимает каждый адаптер клиента HTTP, соответствующий PSR-18, такой как "php-http/curl-client": "^1.7"
Провайдер AuthenticationProviderInterface из /authentication/provider/*
$apiHost hashicorp Vault Rest URL
Использование объемных запросов также требуется для итерации через ответ и вызов hasErrors в MetaData каждого объемного элемента, чтобы убедиться, что он был успешно обработан.
Вызовы библиотечных методов будут бросать исключения, указывая, где когда -либо были предоставлены неверные данные или возникают ошибки HTTP или возникают общие ошибки конечной точки хранилища.
VaultException
Общее исключение корня, откуда от этого распространяется каждое исключение в этой библиотеке.
VaultHttpException
Исключение будет брошено, когда что -то внутри обработки HTTP вызовет ошибку.
VaultAuthenticationException
Будет брошен, когда аутентификация конечной точки API не удастся.
VaultResponseException
Будет брошен при ошибках кода состояния 5xx.
InvalidRouteException
Вызов неверной/не существующей/отключенной конечной точки Vault API выставит это исключение.
InvalidDataException
Исключение указывает на неудачную проверку полезной нагрузки сервера.
KeyNameNotFoundException
Будет брошен при попытке запросить конечную точку API, где ключевое имя, которое указано в URL, не будет существовать.