通过Chef Server API将用户添加到Chef

时间:2016-10-25 20:44:22

标签: php http chef

我正在尝试通过Chef Server API在Chef服务器上创建用户。我目前正在为API接口使用PHP包装器,可以找到here

我了解为了使用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请求,我会收到成功的响应。

有关为何会发生这样的事情的任何线索?

由于

0 个答案:

没有答案