我在 ArangoDB 3.0.4 中获取 Foxx 微服务并运行身份验证时遇到了一些问题。Foxx 微服务使用会话中间件来处理身份验证。它通过在 X-Session-Id 标头中存储 JWT 来做到这一点(这不应该特定于使用 JWT)。
只要客户端请求不包含 Origin 标头,它就可以正常工作。但是一旦发生这种情况(我正在使用 Cordova 和 AngularJS 的 $http 客户端,所以我无法阻止它),ArangoDB 设置所有 Access-Control-* 标头(如果我手动设置它们,它们会被覆盖) . 原则上它这样做是正确的,但 Access-Control-Expose-Headers 标头不包含 X-Session-Id。这意味着,我无法在客户端检索 JWT。
如何解决这个问题?我曾考虑将 JWT 添加到每个响应的有效负载中,但这对我来说听起来一点也不好。有没有办法将 ArangoDB 配置为在 Access-Control-Expose-Headers 标头中包含 X-Session-Id?
提前感谢您对此的任何帮助。