2012-05-03 67 views
0

我试图与供应商实现SSO,并且他们要求我发送HTTP请求。在这个HTTP请求中,有一个用户名和密码的自定义标题,这是我在u/p信息中传递的地方。如果用户通过身份验证,他们会发回一个“身份验证cookie”。我想了解几件事情:身份验证Cookie不同域问题

  1. 这个认证cookie究竟是什么?这是一个标准的东西?或者它的意思是它的一个具有认证信息的cookie?

  2. HTTP请求被发送到一个不同于我的域。即发送请求的脚本位于a.com上,而我需要发送HTTP请求的URL是b.com。该供应商说,我应该只是将他们返回的cookie发送回给用户。这不起作用,但我需要了解为什么 - Cookie的域名是什么?它会是a.com还是b.com?如果它的b.com,将工作,因为实际上打电话的脚本将在a.com,并且大多数浏览器不允许第三方域cookie。或者它失败了,因为我正在尝试使用a.com写cookie,其中cookie已经有b.com的数据?

回答

0

想通了。返回的HTTP只是另一个自定义标题值,而不是cookie。所以,我们必须编写我们自己的cookie。但是,很明显,其他域不能识别cookie。因此,我们实际上在IIS中构建了一个反向代理,以便域a.com通过名为x.a.com的代理访问站点,并且永远不会看到b.com。所以写的cookie被该域识别。