【发布时间】:2018-05-21 13:17:48
【问题描述】:
我有使用负载平衡器保护和公开的 NodeJS 服务。需要调用使用j_secuirty_check投影的drill Query.JSON API。
现有逻辑: 首先使用凭据点击 j_security_check URL 并接收 cookie。 使用上述步骤中收到的 cookie 来点击 query.JSON URL。
代码片段:
var options1 = {
url: 'http://<HOSTNAME>:8047/query.json',
method: 'POST',
json: JSON.parse('{ "queryType":"SQL", "query": "show schemas"}'),
headers : {
cookie : setcookie
}
};
上述方法在没有负载均衡器的情况下也可以工作。 示例:
backend service running on http://localhost:3000
Drill URL: http://<SOMEIP:PORT>/query.JSON
问题: 第二个请求是重定向到登录页面,我们认为我们在上一步中设置了接收到的 cookie。
例子:
backend service running on https://<LOADBALANCER_URL>
Drill URL: http://<SOMEIP:PORT>/query.JSON
这是因为 https 和 http 协议还是 diff 域?
请分享您的建议。
【问题讨论】:
-
您能否显示您在一个步骤中收到 cookie 的实际代码,然后在下一步中将该 cookie 发回?
标签: node.js cookies request apache-drill j-security-check