我正在使用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调用,它就会起作用,这并不总是需要做的事情。
我做错了什么?