这是我的问题的快速版本:
当cookie用于不同的服务器(在这种情况下是Exchange邮件服务器)时,是否可以以某种方式将cookie设置到客户端的浏览器中?在这种情况下,尝试设置cookie的服务器位于“intranet.myschool.edu”,交换服务器位于“owa_server.myschool.edu”。
这是完整的问题:
我有一个php脚本,它使用cURL对启用了基于表单的身份验证的Exchange服务器进行HTTP POST。
当我成功进行HTTP POST(包括发布网址中的用户/传递)时,Exchange Server(或更具体地说,https://my.school.edu/exchweb/bin/auth/owaauth.dll文件)输出cookies。
具体来说,它输出“sessionid”和“cadata”id。
将这些cookie ID写入服务器上的文本文件后,cURL / PHP可以引用它,然后从Exchange / OWA服务器请求数据(通过webdav等)。
那部分有效。
我想解决的问题是现在将cookie ID传递给客户端浏览器,以便他们可以使用这些cookie ID自动登录到他们自己的OWA帐户。
本质上,我希望我们的用户使用他们的Active Directory ID登录我们的Intranet,并查看他们最近的电子邮件的快照。然后,如果他们需要,我会给他们一个小链接切换到完整的OWA Web应用程序。当这个切换发生时,我不希望他们必须手动登录OWA。由于他们已经在Intranet的前面提交了他们的Active Directory用户名和密码,我希望他们能够自动登录到OWA。
我应该注意,由于我们混合使用Mac OS,Windows和Linux,因此无法使用Windows身份验证尝试进行单点登录。
我以为我能够做一个“setcookie”并分配cURL获得的cookie ID并将它们放入客户端浏览器中。
这不可能吗?是不可能以这种方式“欺骗”Exchange / OWA(或任何其他网站)。
我有cURL捕获的合法cookie ID。有没有办法将这些传递给另一台计算机上的客户端浏览器?
在最糟糕的情况下,使用Javascript只是自动将用户名和密码粘贴到OWA登录页面是我唯一的希望吗?
有没有人对如何避免我的Exchange / OWA双重登录问题有任何其他想法?
感谢您提供的任何帮助!