如何使用来自其他站点的login信息进行JavaScript请求

我有以下情况。 我有一个网站运行node.js用户可以login,然后执行任务使用各种JavaScript API调用。 当他们login时,我给他们分配一个cookie,这是在做所有的web请求时使用的,这样我可以跟踪他们已经做了多less请求。

现在我想让另一个网站B也能够使用由网站A提供的API。我所拥有的问题是网站B上的用户如何获得允许他们向网站A发出请求的cookie,而不必到站点A并在那里login。 如果我使用某个默认账户进行跨域GET请求login,我无法从中提取响应中分配的cookie。

如果可能的话,我会避免使用类似SECRET_KEY参数在从站点B到A的获取请求中,因为我使用节点会话模块,它根据Cookie加载会话。

唯一的方法是让站点A发回包含域A和域B的通配符cookie。请记住,如果您的域A和域B都是第二级,那么您可能会打开一个很大的安全漏洞域。

或者使域B上的代码使用客户端的浏览器作为域A的通道。您可以将域B中的Javascript代码发送到将使用域A上的API并将结果回送到域B的用户浏览器。但是,即使在这种情况下你必须照顾两边的CORS标题。 否则,浏览器将不会相信域B的代码将请求发送到域A.