繁体   English   中英

如何使用来自另一个站点的登录信息发出 javascript 请求

[英]how to make javascript requests using login information from another site

我有以下场景。 我有一个运行 node.js 的网站,用户可以在其中登录,然后使用各种 javascript API 调用执行任务。 当他们登录时,我为他们分配了一个 cookie,用于发出所有 Web 请求,这样我就可以跟踪他们已经发出的请求数。

现在我希望另一个站点 B 也能够使用站点 A 提供的 API。我的问题是站点 B 上的用户如何获取允许他们向站点 A 发出请求的 cookie,而无需访问站点A 并在那里登录。 如果我发出跨域 GET 请求以使用某个默认帐户登录,则无法从中提取响应中分配的 cookie。

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

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

或者在域 B 上编写代码使用客户端的浏览器作为域 A 的通道。您可以将 Javascript 代码从域 B 发送到用户浏览器,该浏览器将使用域 A 上的 API 并将结果运回域 B。但是,即使在这种情况下你必须照顾双方的 CORS 标头。 否则浏览器将不信任来自域 B 的代码向域 A 发送请求。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM