使用带有cookie的cURL进行基于JIRA API会话的身份验证

时间:2012-12-01 10:43:38

标签: php curl session-cookies jira

我正在使用JIRA的REST API,但我在处理cookie方面遇到了一些麻烦。

我可以在一开始就成功进行身份验证,并生成cookie文件,但我似乎无法在后续请求的后续API调用中回收它。因此,每次我必须在初始用户身份验证后查询其API时,我仍然要求用户提供他的用户名和密码。

以下是与设置Cookie相关的代码段:

curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_URL, $this->url, $endpoint);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($params));

curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-type: application/json'));
curl_setopt($ch, CURLOPT_COOKIEJAR, dirname(__FILE__) . '/' . session_id());
curl_setopt($ch, CURLOPT_COOKIEFILE, dirname(__FILE__) . '/' . session_id());
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);

但是,虽然cookie文件存在,但我所做的所有API调用都告诉我,我还没有通过身份验证。但是,如果我在进行身份验证后立即执行API调用,它就会起作用,这并不总是需要做的事情。

我做错了什么?

0 个答案:

没有答案
相关问题