ArangoDB:Foxx session 中间件与 CORS 冲突

ArangoDB: Foxx session middleware conflicts with CORS

我在 ArangoDB 3.0.4 中通过 运行 的身份验证获取 Foxx 微服务时遇到了一些问题。 Foxx 微服务使用 session 中间件来处理身份验证。它通过将 JWT 存储在 X-Session-Id header 中来实现(这不应该特定于使用 JWT)。

只要客户端请求不包含 Origin header,就可以正常工作。但是一旦发生这种情况(我正在使用 Cordova 和 AngularJS 的 $http client-side,所以我无法阻止它),ArangoDB 设置所有 Access-Control-* headers(如果我手动设置它们,它们会被覆盖)。原则上它是正确的,但是 Access-Control-Expose-Headers header 不包含 X-Session-Id。这意味着,我无法在 client-side.

检索 JWT

如何解决这个问题?我考虑过将 JWT 添加到每个响应的有效负载中,但这对我来说一点都不好。有什么方法可以配置 ArangoDB 在 Access-Control-Expose-Headers header?

中包含 X-Session-Id

提前感谢您对此提供的任何帮助。

只是 运行 遇到了同样的问题。现在有一个应该很快发布的修复程序:https://github.com/arangodb/arangodb/issues/2159