【发布时间】:2017-05-02 02:41:03
【问题描述】:
由于需求发生变化,我不得不实施 Dropwizard Web 服务来与我们的 SAP Business One 实例进行通信。到目前为止效果很好。
此外,我需要确保只允许经过身份验证的客户端访问 API。为了实现这一点,我使用了由其他已经存在的 Web 服务生成的 JWT。为了与这两个 Web 服务进行通信,我使用了相同的 Aurelia fetch 客户端。
尽管已将 credentials 选项设置为 include 并为 Access-Control-Allow-Origin 和 Access-Control-Allow-Credentials 标头(http://127.0.0.1:9000 和 @987654328)返回相同的值@) cookie 仅发送到生成 JWT 的 Web 服务,而不发送到 Dropwizard Web 服务。
您可以在下面看到初始化 fetch 客户端的代码。
configuration.useStandardConfiguration()
.withDefaults
({
credentials: "include",
headers:
{
"Content-Type": "application/json;charset=utf-8"
}
});
接下来,在与 go web 服务通信时,Firefox 的开发者控制台中显示了以下屏幕截图。 Cookie 标头按预期发送。
但是,当访问 Dropwizard Web 服务上的资源时,不会发送 cookie 标头。
【问题讨论】:
标签: javascript cors jwt aurelia