Biz şu anda yeni bir OpenSSO Sunucu uygulamaktadır. Sunucu web sunucusu farklı bir sunucu üzerinde ve ben bizim PHP Web sunucusu üzerinde meydana kimlik alma konusunda sorun yaşıyorum.
OpenSSO Simge'nin ile ayarlanmış çerez iPlanetDirectoryPro denir. Bu authServer.company.com ayarlanır. Ben webserver.company.com bu okuyun ve sonra bu OpenSSO Token için nitelikleri almak için authserver.company.com bir HTTPRequest göndermeniz gerekir.
Şu anda benim kod bu gibi görünüyor ama çalışmıyor, ben doğru çerez okumuyor nedeniyle şüpheli.
$url = 'http://authServer.company.com:8080/opensso/identity/attributes';
$r = new HttpRequest();
$r->setURL($url);
$r->setMethod(HTTP_METH_POST);
$valarray = array(
'Host' => 'authServer.company.com',
'Content-Type' => 'application/x-www-form-urlencoded',
'Cookie' => "iPlanetDirectoryPro=$_COOKIE[iPlanetDirectoryPro]"
);
$r->addHeaders($valarray);
var_dump($r);
var_dump($valarray);
#
# request
#
print "<br/>";
print "<b>what i'm saying to the server</b>";
print "<pre>";
#print "iPlanetDirectoryPro cookie: $_COOKIE[iPlanetDirectoryPro]";
print $r->getRawRequestMessage();
print "</pre>";
print "iPlanetDirectoryPro cookie: $_COOKIE[iPlanetDirectoryPro]";
$r->send();
#
# response
#
print "<b>what the server is telling me</b>";
print "<pre>";
$response_body = $r->getResponseBody();
print $response_body;
print "</pre>";
Bu konuda herhangi bir fikir? Ben yanlış bir şekilde bu konuda gidiyorum?
Update - Ben buldum alt satırında başka bir sunucudan gelen gibi sunucu sadece çerez okuyamadı oldu. Bir çalışma aronud olarak ben kullanıcı web sunucusu bir giriş sayfası göndermenize olanak sağlayan bir REST API uygulanmaktadır. Onun yanıtı geri verir AuthServer gönderin. Tepkisi tipik olarak geçersiz sürece bir belirteç olmalıdır. Onun bir simge varsa, yeni bir çerez uygulamaların ardından AuthServer ile iletişim kurmak için bu simgeyi kullanın böylece içinde belirteci ile oluşturulan, ancak çerez webserverların etki altında yaşamaktadır