Php curl自动身份验证未设置会话

时间:2011-05-25 11:32:10

标签: php authentication curl

我正在使用php curl函数进行自动身份验证,它工作正常。但我无法进入同一域上的其他页面,我认为会话未设置。请提前帮助我,谢谢。

3 个答案:

答案 0 :(得分:2)

为了保留会话信息,您需要告诉CURL存储Cookie数据的位置。您可以使用curl_setopt设置的CURLOPT_COOKIEFILECURLOPT_COOKIEJAR选项执行此操作。

编辑以下是一个例子:

curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie.txt");
curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt")

答案 1 :(得分:1)

您可能需要在转到其他页面时通过会话cookie发送以维持状态

请参阅:Maintaining PHP session when using CURL

答案 2 :(得分:1)

使用curl和rest-services,您没有会话。因此,作为一种解决方案,您的身份验证操作应该返回session_id,您应该在请求签名的下一个请求中传递该session_id。之后,您应该通过session_id实现其他安全检查。

对我而言,最好的方法是在拥有access_token,expired_in和refresh_token时集成OAuth2身份验证。 Refresh_token是可选参数,当access_token过期时,当您尝试通过refresh_token获取新的access_token时,可以使用它。