gpt4 book ai didi

javascript - Cookie 只发送到一个 API

转载 作者:行者123 更新时间:2023-11-29 21:12:19 25 4
gpt4 key购买 nike

由于需求的变化,我不得不实现一个 Dropwizard 网络服务来与我们的 SAP Business One 实例进行通信。到目前为止效果很好。

此外,我需要确保只允许经过身份验证的客户端访问 API。为了实现这一点,我使用了一个由其他已经存在的 Web 服务生成的 JWT。为了与这两个 Web 服务通信,我使用相同的 Aurelia 获取客户端。

尽管已将 credentials 选项设置为 include 并为 Access-Control-Allow-Origin 和返回相同的值Access-Control-Allow-Credentials header (http://127.0.0.1:9000true)cookie 仅发送到网络生成 JWT 的服务,而不是生成 Dropwizard 网络服务的服务。

您可以在下面看到初始化获取客户端的代码。

configuration.useStandardConfiguration()
.withDefaults
({
credentials: "include",
headers:
{
"Content-Type": "application/json;charset=utf-8"
}
});

接下来,当与 go 网络服务通信时,Firefox 的开发人员控制台中会显示以下屏幕截图。 Cookie header 按预期发送。

headers when communicating with the JWT-generating web service

但是,当访问 Dropwizard 网络服务上的资源时,不会发送 cookie header 。

headers when communicating with the Dropwizard web service

最佳答案

在第一种情况下,请求是从 http://127.0.0.1http://127.0.0.1 完成的。

第二种情况,请求是从http://127.0.0.1http://192.168.16.22:8090,不是吗?这是一个 CORS 请求

也许这是您的问题:Cross domain POST request is not sending cookie Ajax Jquery

You cannot set or read cookies on CORS requests through JavaScript. Although CORS allows cross-origin requests, the cookies are still subject to the browser's same-origin policy, which means only pages from the same origin can read/write the cookie.

关于javascript - Cookie 只发送到一个 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41182050/

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