2016-03-30 8 views
2

Ich möchte das Token bei APIM 1.10 mit Ajax aufrufen.Aufrufen von Token mit Ajax (WSO2 APIManager1.10)

Ich habe versucht dies:

$(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); 
    } 
    }); 
}); 

aber nichts nicht receved. Nur eine leere Option Anfrage.

Manager API dies zeigen:

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

Kennt jemand, wie kann ich dies tun?

Danke,

Eliezer Trajano

Antwort

2

Hier ist das Problem Inhalt type.The Inhaltstyp sollte application/x-www-form-urlencoded nach documentation und Sie müssen sein, um den json Datentyp zu entfernen, wie Nun, mit den obigen Änderungen sollte der Ajax-Code wie folgt sein:

$(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); 
    } 
    }); 
}); 
+0

Danke Ajanthan für Ihre Antwort! Aber jetzt ist der Fehler eine leere Option mit "302 gefunden". –

+0

Der Token-Endpunkt ist auch falsch. Es sollte https: // localhost: 9443/oauth2/token. Ich habe im ursprünglichen Post korrigiert. – ajanthan

+0

Mit Curl funktioniert es sehr gut. Aber mit Ajax nicht. –

Verwandte Themen