Ibm mobilefirst IBM Worklight Adapters和OAuth--适配器中的头值

Ibm mobilefirst IBM Worklight Adapters和OAuth--适配器中的头值,ibm-mobilefirst,worklight-adapters,Ibm Mobilefirst,Worklight Adapters,我目前正在处理一个适配器调用,该调用在授权头中使用OAuth令牌。该请求在FireFox RestClient和xhr get中运行良好。。。但是从Worklight适配器失败,并出现一个错误,提示用户需要登录。这与用户在未传递授权标头时看到的错误相同 wl适配器: function getFriends(accessToken) { var authtok = 'Bearer ' + accessToken; var input = { method : 'ge

我目前正在处理一个适配器调用,该调用在授权头中使用OAuth令牌。该请求在FireFox RestClient和xhr get中运行良好。。。但是从Worklight适配器失败,并出现一个错误,提示用户需要登录。这与用户在未传递授权标头时看到的错误相同

wl适配器:

function getFriends(accessToken) {
    var authtok = 'Bearer ' + accessToken;
    var input = {
        method : 'get',
        headers: {Authorization: authtok},
        path : '/connections/opensocial/rest/people/@me/@self'
    };  
    return WL.Server.invokeHttp(input);
}

还有人看到这样的错误吗?是否有方法跟踪worklight适配器调用,以检查发送到请求中的头是否如预期的那样?

看起来您的服务器也希望头中包含主机名。尝试将您的输入更改为:

var input = {
        method : 'get',
        returnedContentType : 'json',
        path : '/connections/opensocial/rest/people/@me/@self',
        headers: {
            'Authorization': authtok,  
            Host: "HOSTNAME THAT IS USED IN THE .XML FILE"
        }
    };
因此,如果适配器的xml文件如下所示:

<connectionPolicy xsi:type="http:HTTPConnectionPolicyType">
            <protocol>https</protocol>
            <domain>jeremy.server.whatever.com</domain>
            <port>443</port>    
            -->     
</connectionPolicy>
headers: {
    'Authorization': authtok,  
    Host: "jeremy.server.whatever.com"
}