Я пытаюсь создать пользователя на своем Chef Server через API Chef Server. В настоящее время я использую оболочку PHP для интерфейса API, который можно найти Вот.
Я понимаю, что для создания пользователя с помощью API вы должны предоставить файл pivotal.pem, а также ключевое имя пользователя.
Вот фрагмент моего PHP-кода, который я использую:
// ENVIRONMENT VARIABLES
// The URL for the Chef Server
$server = "mycompany.com";
// The name used when authenticating
$client = 'pivotal';
// The location of the file which contains the client key
$key = "../../../pivotal.pem";
// The version of the Chef Server API that is being used
$version = "12.0.2";
// Create a Chef object
$chef = new Chef($server, $client, $key, $version);
// API Request
$createUserRequest = array("name"=>$displayName, "display_name"=>$displayName, "email"=>$emailAddress, "password"=>$password);
$createUserRequest = json_encode($createUserRequest);
$chef->post('/users/', $createUserRequest);
Вот ответ, который я получаю с сервера:
Fatal error: Uncaught exception 'Exception' with message 'Invalid signature for user or client 'pivotal'' in C:\Workspace\SA_SSAF\app\plugin\CHEF\Chef PHP\src\Jenssegers\Chef\Chef.php:187
Stack trace:
#0 C:\..\..\app\plugin\CHEF\Chef PHP\src\Jenssegers\Chef\Chef.php(70): Jenssegers\Chef\Chef->api('/users/', 'POST', '{"name":"entra"...')
#1 C:\..\..\app\plugin\CHEF\controller\chefEnrollUser.php(55): Jenssegers\Chef\Chef->post('/users/', '{"name":"entra"...')
#2 {main}
thrown in C:\..\..\app\plugin\CHEF\Chef PHP\src\Jenssegers\Chef\Chef.php on line 187
Если я пытаюсь выполнить запрос GET, используя ту же конфигурацию, я получаю успешный ответ.
Есть какие-нибудь подсказки относительно того, почему что-то подобное может происходить?
Спасибо
Задача ещё не решена.
Других решений пока нет …