wso2 - 使用ajax调用 token (WSO2 APIManager1.10)

标签 wso2 wso2-api-manager api-manager

我想使用 ajax 在 APIM 1.10 调用 token 。

我尝试过这个:

$(function() {
  $.ajax({
    url:'https://localhost:9443/token',
    type: 'POST',
    dataType: 'json',
    contentType: 'application/json',
    data:{
      'grant_type':'client_credentials'
    },
    headers:{
    'Authorization': 'Basic Q3dLYmJybWhDUnJpMVJlMDIycWp0UGtxWUlrYTpjYzZQMkVFOEVJRDNqSWRSN2ZnRUoyUDU2ajRh',
   },
   success:function(e){
      $('#token').html(e);
    }
  });
});

但什么也没收到。 只是一个空选项请求。

API 管理器显示:

    [2016-03-30 14:48:40,340] DEBUG - headers http-incoming-1 >> OPTIONS /token HTTP/1.0
    [2016-03-30 14:48:40,340] DEBUG - headers http-incoming-1 >> X-Forwarded-Host: <My host>
    [2016-03-30 14:48:40,340] DEBUG - headers http-incoming-1 >> X-Forwarded-Server: <My Host>
    [2016-03-30 14:48:40,340] DEBUG - headers http-incoming-1 >> X-Forwarded-For: <My IP>
    [2016-03-30 14:48:40,340] DEBUG - headers http-incoming-1 >> Host: <My Host> 
    [2016-03-30 14:48:40,340] DEBUG - headers http-incoming-1 >> Connection: close
    [2016-03-30 14:48:40,341] DEBUG - headers http-incoming-1 >> User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:41.0) Gecko/20100101 Firefox/41.0
    [2016-03-30 14:48:40,341] DEBUG - headers http-incoming-1 >> Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    [2016-03-30 14:48:40,341] DEBUG - headers http-incoming-1 >> Accept-Language: pt-BR,pt;q=0.8,en-US;q=0.5,en;q=0.3
    [2016-03-30 14:48:40,341] DEBUG - headers http-incoming-1 >> Accept-Encoding: gzip, deflate
    [2016-03-30 14:48:40,341] DEBUG - headers http-incoming-1 >> Origin: null
    [2016-03-30 14:48:40,341] DEBUG - headers http-incoming-1 >> Access-Control-Request-Method: POST
    [2016-03-30 14:48:40,341] DEBUG - headers http-incoming-1 >> Access-Control-Request-Headers: authorization,content-type
    [2016-03-30 14:48:40,341] DEBUG - headers http-incoming-1 >> Pragma: no-cache
    [2016-03-30 14:48:40,341] DEBUG - headers http-incoming-1 >> Cache-Control: no-cache
    [2016-03-30 14:48:40,386] DEBUG - headers http-incoming-1 << HTTP/1.0 200 OK
    [2016-03-30 14:48:40,386] DEBUG - headers http-incoming-1 << Access-Control-Request-Headers: authorization,content-type
    [2016-03-30 14:48:40,386] DEBUG - headers http-incoming-1 << Host: <My Host>
    [2016-03-30 14:48:40,386] DEBUG - headers http-incoming-1 << X-Forwarded-Server: <My Host>
    [2016-03-30 14:48:40,386] DEBUG - headers http-incoming-1 << Origin: null
    [2016-03-30 14:48:40,386] DEBUG - headers http-incoming-1 << Access-Control-Request-Method: POST
    [2016-03-30 14:48:40,386] DEBUG - headers http-incoming-1 << Cache-Control: no-cache
    [2016-03-30 14:48:40,387] DEBUG - headers http-incoming-1 << Pragma: no-cache
    [2016-03-30 14:48:40,387] DEBUG - headers http-incoming-1 << X-Forwarded-Host: <My Host>
    [2016-03-30 14:48:40,387] DEBUG - headers http-incoming-1 << Accept-Language: pt-BR,pt;q=0.8,en-US;q=0.5,en;q=0.3
    [2016-03-30 14:48:40,387] DEBUG - headers http-incoming-1 << Allow: POST
    [2016-03-30 14:48:40,387] DEBUG - headers http-incoming-1 << Accept-Encoding: gzip, deflate
    [2016-03-30 14:48:40,387] DEBUG - headers http-incoming-1 << X-Forwarded-For: <my ip>
    [2016-03-30 14:48:40,387] DEBUG - headers http-incoming-1 << Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    [2016-03-30 14:48:40,387] DEBUG - headers http-incoming-1 << Date: Wed, 30 Mar 2016 17:48:40 GMT
    [2016-03-30 14:48:40,387] DEBUG - headers http-incoming-1 << Server: WSO2-PassThrough-HTTP
    [2016-03-30 14:48:40,387] DEBUG - headers http-incoming-1 << Connection: Close
    [2016-03-30 14:48:40,389] DEBUG - wire << "HTTP/1.0 200 OK[\r][\n]"
    [2016-03-30 14:48:40,390] DEBUG - wire << "Access-Control-Request-Headers: authorization,content-type[\r][\n]"
    [2016-03-30 14:48:40,390] DEBUG - wire << "Host: <my host name>[\r][\n]"
    [2016-03-30 14:48:40,390] DEBUG - wire << "X-Forwarded-Server: <my host>[\r][\n]"
    [2016-03-30 14:48:40,390] DEBUG - wire << "Origin: null[\r][\n]"
    [2016-03-30 14:48:40,390] DEBUG - wire << "Access-Control-Request-Method: POST[\r][\n]"
    [2016-03-30 14:48:40,390] DEBUG - wire << "Cache-Control: no-cache[\r][\n]"
    [2016-03-30 14:48:40,390] DEBUG - wire << "Pragma: no-cache[\r][\n]"
    [2016-03-30 14:48:40,390] DEBUG - wire << "X-Forwarded-Host: <My Host NAME>[\r][\n]"
    [2016-03-30 14:48:40,390] DEBUG - wire << "Accept-Language: pt-BR,pt;q=0.8,en-US;q=0.5,en;q=0.3[\r][\n]"
    [2016-03-30 14:48:40,390] DEBUG - wire << "Allow: POST[\r][\n]"
    [2016-03-30 14:48:40,390] DEBUG - wire << "Accept-Encoding: gzip, deflate[\r][\n]"
    [2016-03-30 14:48:40,390] DEBUG - wire << "X-Forwarded-For: <My computer IP>[\r][\n]"
    [2016-03-30 14:48:40,391] DEBUG - wire << "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8[\r][\n]"
    [2016-03-30 14:48:40,391] DEBUG - wire << "Date: Wed, 30 Mar 2016 17:48:40 GMT[\r][\n]"
    [2016-03-30 14:48:40,391] DEBUG - wire << "Server: WSO2-PassThrough-HTTP[\r][\n]"
    [2016-03-30 14:48:40,391] DEBUG - wire << "Connection: Close[\r][\n]"
[2016-03-30 14:48:40,391] DEBUG - wire << "[\r][\n]"

有人知道我该怎么做吗?

谢谢

埃利泽·特拉哈诺

最佳答案

这里的问题是内容类型。内容类型应该是 application/x-www-form-urlencoded 根据 documentation并且您还需要删除 json 数据类型。通过上述更改,ajax 代码应如下所示

$(function() {
  $.ajax({
    url:'https://localhost:9443/oauth2/token',
    type: 'POST',
    contentType: 'application/x-www-form-urlencoded',
    data:{
      'grant_type':'client_credentials'
    },
    headers:{
    'Authorization': 'Basic Q3dLYmJybWhDUnJpMVJlMDIycWp0UGtxWUlrYTpjYzZQMkVFOEVJRDNqSWRSN2ZnRUoyUDU2ajRh',
   },
   success:function(e){
      $('#token').html(e);
    }
  });
});

关于wso2 - 使用ajax调用 token (WSO2 APIManager1.10),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36316345/

相关文章:

java - 使用Java DSL从WSO2转换为camel : How to forward with URI pattern

wso2-api-manager - 无法在 wso2-am 3.0 中更改 api-manager.xml

wso2 - 如何将授权 header WSO2(API 管理器)传递给我的后端服务?

wso2 - 如何在 WSO2 序列中的 switch case 中定义正则表达式条件?

wso2-api-manager - 如何修复 AM 中的 SSLException?

web-services - Jaggery (WS02) 端点引用/动态端点

java - 调用 Rest Client 调用 WSO2 ESB 服务 :unable to find valid certification path to requested target

java - WSO2 和 Java 客户端定期请求

url - 在 wso2 apimanager 2.1.0 中传递多个参数

java - JDBCResourceDAO 无法删除 id 的资源 - WSO2 API Manager