小编典典

跨域Ajax请求WSO2 IS

ajax

curl -v -X POST -H “Authorization: Basic ” -k -d “grant_type=password&username=&password=” -H “Content-Type:application/x-www-form-urlencoded” https://localhost:9443/oauth2/token

(来自
https://docs.wso2.com/display/IS520/Resource+Owner+Password+Credentials+Grant

此“ curl”命令可以完美运行。但是,当尝试通过ajax调用它时:

  $.ajax({
      type: 'POST',
      data: 'grant_type=password&username=admin&password=admin',
      headers: {
        'Content-Type': 'application/x-www-form-urlencoded',
        'Authorization': 'Basic  Z0hLUlA3eThYTmJydl9JR1pJemxDQ1VJQlo0YTozT2VLaUlmUVViMk1yZzZ2YU5uQVFsWFpDU29h'
      },
      url: 'https://localhost:9443/oauth2/token',
      success: function(data) {
        console.log(data);
      }
    })
    };

我收到此错误: _“ XMLHttpRequest无法加载 https:// localhost:9443 / oauth2 /
token
。对预检请求的响应未通过访问控制检查:所请求的资源上没有’Access-
Control-Allow-Origin’标头。因此,不允许访问源’null’。” _

如何配置WSO2 IS来应对?还是对此有交流?

WSO2 API管理器([WSO2 API ManagerCORS]也存在类似问题。但是WSO2 IS中没有这样的目录“ / repository / deployment / server / synapse-configs /”。


阅读 278

收藏
2020-07-26

共1个答案

小编典典

在Identity Server上未启用跨源资源共享(CORS)时,这是预期的行为。实际上,您可以为Identity
Server启用CORS。检查[1]如何操作。

[1] http://hasanthipurnima.blogspot.com/2016/05/applying-cors-filter-to-
wso2-identity.html

2020-07-26