首页 文章

使用ajax调用令牌(WSO2 APIManager1.10)

提问于
浏览
2

我想使用ajax在APIM 1.10上调用令牌 .

我试过这个:

$(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 Manager显示:

[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]"

有人知道我该怎么办?

谢谢,

Eliezer Trajano

1 回答

  • 2

    这里的问题是内容类型 . 内容类型应该是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);
        }
      });
    });
    

相关问题