gpt4 book ai didi

javascript - Node.js CORS session cookie 与 Angular.js

转载 作者:数据小太阳 更新时间:2023-10-29 04:19:42 25 4
gpt4 key购买 nike

我正在使用带有 CORS 和 Angular.js 的 Node.js 进行简单登录。

那是 --- client.example.com 也在进行 POST api.example.com/login 成功 session cookie 也返回 client.example.com 并且可以访问 GET 服务,如 api.example.com/secret 受 session cookie。

发出不受 session cookie 保护的 GET 请求不是问题。

Ultimately, the goal here is too authenticate a client side app to a REST api using CORS with a local stradegy --- i.e. username & password --- even if the convention above isnt possible.

我找不到可从任何地方学习的实用工具 --- 为我指明正确的方向?

奖励:展示一个工作示例。

最佳答案

您的问题很简单,浏览器不允许将在一个域中设置的 cookie 发送到另一个域。
这是为了安全。如果您的 session cookie 可以从任何域访问,那么任何站点都可以执行 csrf(根据定义,您想要的是执行 csrf - 在不同站点中使用来自一个站点的 session )。

有很多解决方法,但在应用它们时应小心。

  • 最简单的方法是使用Jsonp登录并发起跨域请求,jsonp基本上打破了cookies的跨域策略。

  • 您可以在位于 api.example.comclient.example.com 页面中嵌入一个 iFrame,父级和 iFrame 可以使用 post message 进行通信.

这两种方式都对 csrf 请求开放(就其本质而言),因此您应该格外小心允许 client.example.com 访问哪些信息。

关于javascript - Node.js CORS session cookie 与 Angular.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16159188/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com