首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在APIMan中配置CORS

如何在APIMan中配置CORS
EN

Stack Overflow用户
提问于 2016-12-27 21:54:15
回答 1查看 869关注 0票数 1

我是apiman的新手,我尝试在Jquery中使用一些API调用。但不幸的是,我得到了一个错误:

https://apigtw.url/apiman-gateway///1.0/?apikey=9999999-8888-6666-33333-968a712ce68b.不能加载XMLHttpRequest请求的资源上没有“访问-控制-允许-原产地”标题。因此,“http://myapp.local”源是不允许访问的。响应具有HTTP状态代码500。

因此,我使用了一些策略,例如:

密钥披风授权策略:

代码语言:javascript
复制
Require OAuth: true
Require Transport Security: true
Blacklist Unsafe Tokens: false
Realm: https://sso.local/auth/realms/test-realm
Keycloak Realm Certificate: <keycloak key certificate>
Forward Realm Roles? true

授权策略配置:

代码语言:javascript
复制
Path: .*
Verb: *
Required Role: my-role

我错过了一些关于apiman配置的东西吗?

我认为我应该添加CORs,但我不知道是否有必要。我试着使用这个,但是错误仍然发生。

拜托,需要帮助

有人知道如何配置APIMan CORs吗?

编辑:

这似乎是在第516期中解决的,但仍然发生在我身上。我使用的是1.2.3版的APIMan

以下是响应头:

代码语言:javascript
复制
Connection:close
Content-Type:application/json
Date:Wed, 28 Dec 2016 13:54:08 GMT
Server:Apache/2.4.18 (Ubuntu)
Transfer-Encoding:chunked
X-Gateway-Error:API not public.
X-Powered-By:Undertow/1

以下是请求头:

代码语言:javascript
复制
Accept:*/*
Accept-Encoding:gzip, deflate, sdch, br
Accept-Language:pt-BR,pt;q=0.8,en-US;q=0.6,en;q=0.4
Access-Control-Request-Headers:authorization, x-api-key
Access-Control-Request-Method:GET
Connection:keep-alive
Host: apiman.url
Origin:http://192.168.56.22:8080
Referer:http://192.168.56.22:8080/app
User-Agent:Mozilla/5.0 ...
Query String Parameters
view source
view URL encoded

以下是我的ajax请求:

代码语言:javascript
复制
$.ajax({
  url: 'https://apiman.url/apiman-gateway/<org>/<api>/1.0/<method>?apikey=xxxxxx-xxxxx-xxxxx-xxxxx',
  headers: {
      'Content-Type':'application/json',
      'Accept' : 'application/json',
      'Authorization' : 'Bearer ' + keycloak.token
  },
  method: 'GET',
  dataType: 'json',
  success: function(data){
    console.log('header1', data);
  }
});
EN

回答 1

Stack Overflow用户

发布于 2016-12-28 14:36:00

您是否确保CORS策略在策略链中的密钥隐藏策略之前?这将确保CORS首先得到服务。

即CORS策略->密钥掩蔽策略->授权策略

注意:如果您使用的是CORS策略,那么您可能应该将API键作为查询参数传递,因为浏览器在飞行前请求期间不会传递自定义标头(它代表您执行)。

请参阅:https://stackoverflow.com/a/13997235/2766538

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41352654

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档