secure CORS:是否有包含cookie的安全方案?

问题描述 投票:2回答:2

我有两个Web服务器在两个不同的端口上进行响应。我有一个主要的Web服务器,该服务器为使用HTTP摘要身份验证后面包含大量javascript的网站提供服务,辅助Web服务器仅执行始终可以使用HTTP摘要直接访问的CGI,或者可以通过与以下内容相关的Ajax请求使用CORS访问的CGI:主Web服务器。两台服务器共享相同的用户凭据。

我的问题是,当javascript向辅助Web服务器发出请求时,我不希望浏览器提示输入凭据。

我想到了可以在ajax请求中向辅助Web服务器添加一些特殊的头的想法,如果存在该头,则可以忽略HTTP身份验证。由于服务器共享用户的凭据,因此,如果用户能够登录到主Web服务器,则他也将能够登录第二个Web服务器。

使用固定的标头当然是没有用的。因此,问题是:CORS中是否存在一种机制来告知辅助Web服务器用户已经在第一个中进行了身份验证?像在Cookie中交换令牌的安全方式一样吗?

javascript jquery ajax cookies cross-domain
2个回答
1
投票

如果只是端口不同,则cookie将在这些来源之间共享。因此,如果您确定一旦用户访问来源1便设置了cookie,只要(假设您使用的是XMLHttpRequestwithCredentials设置为true,它们就将包含在对来源2的请求中。 >

现在当然,这些cookie应该包含一些验证数据,您可以在绕过HTTP验证之前验证它们。

并且希望您使用的是HTTPS,以便使凭据不受网络攻击者的侵害。


0
投票

我不确定这与CORS有什么关系。您需要的是针对两个不同服务器的单点登录解决方案。您可以实施成熟的OAuth解决方案,也可以自己编写一个简单的解决方案。

© www.soinside.com 2019 - 2024. All rights reserved.