1
我对php比较陌生,但我试图重定向并从我的应用程序登录到外部URL。我有证书,并试图张贴他们,但我真正能够实现的是“成功”。如果我通过laravel的 - > redirect()或标头(位置:blah.php)重定向,则会出现我的凭据未发送的错误。我已经尝试使用cURL和Guzzle到目前为止。是否有通过登录凭据重定向的工作示例?php重定向并登录
尝试1:
$client = new Client(array('curl' => array(CURLOPT_SSL_VERIFYPEER => false)));
$url = "url.php";
$data = array('email' => '[email protected]', "pass" => 'pass');
$data_string = json_encode($data);
$res = $client->post($url, [ 'body' => $data_string ]);
$code = $res->getStatusCode();
if($code == '200'){
$this->redirect($url);
// return redirect()->away($url);
} else {
return redirect('/register')
}
尝试2:
$POSTFIELDS = json_encode($data);
$cookie_file_path = "cookie.txt";
$fp = fopen($cookie_file_path,'w');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,$POSTFIELDS);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file_path);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file_path);
$result = @curl_exec ($ch);
if($result) {
header("Location: url.php");
}
curl_close ($ch);
预期的行为,用户在当前应用程序保存的数据,将被添加到注册DB然后这些凭证传递给继承应用程序对登录,他们在那里看到该页面,就好像他们在那里登录一样。
因此,我们你试过什么,什么是输出和什么是你的预期输出? –
@MASIDDIQUI,请参阅编辑 – itchyclothes
嗯,这里有两个不同的会话。一个在用户和你的服务器之间,一个在你的服务器和你的旧版应用之间。您需要将会话cookie从旧应用程序设置到您的用户会话。 –