如何在请求Kylo API时修复跨源错误

问题描述 投票:1回答:2

我在服务器中有一个Kylo Sandbox的运行实例:kyloserver。我试图从我的网站访问Kylo API,在localhost:8080中运行。

我尝试使用Search API调用url:

http://kyloserver:8400/proxy/v1/feedmgr/search?q=mary&rows=20&start=0

并在标头中使用基本身份验证(javascript):

Authorization: 'Basic ' + btoa(this.username + ":" + this.password)

回应是:

无法加载http://kyloserver:8400/proxy/v1/feedmgr/search?q=mary&rows=20&start=0:对预检请求的响应未通过访问控制检查:请求的资源上没有“Access-Control-Allow-Origin”标头。因此,'http://localhost:8080'原产地不允许进入。响应具有HTTP状态代码403。

如果我通过登录UI使用swagger,我可以正确地获得结果。

如何成功访问API?

(Kylo版本:0.8.3)

谢谢。

rest cors kylo
2个回答
1
投票

Kylo默认禁用CORS支持。您需要编写一个插件来覆盖默认配置,并启用CORS:https://github.com/Teradata/kylo/blob/v0.8.4/services/service-app/src/main/java/com/thinkbiganalytics/server/DefaultWebSecurityConfigurer.java


0
投票

最后,我决定创建一个代理Web服务,该服务托管在与Kylo相同的服务器中,只是将请求从Web重定向到Kylo服务。

© www.soinside.com 2019 - 2024. All rights reserved.