我能够将POSTMAN调用成功: /mfp/api/az/v1/token和/mfpadmin/management-apis/2.0/runtimes/mfp/applicationsMFP 8.0 API在POSTMAN中工作,但不能从AJAX中工作
我正在接收来自/ mfp/api/az/v1 /令牌的不记名令牌,并将其添加到/ mfp/applications的授权标头中。
我收到来自两者的200响应,并从每个API获取预期信息。
那么,我选择Ajax代码从邮差复制了这些工作的API调用:
var getBasic = {
"async": true,
"crossDomain": true,
"url": "https://..../mfp/api/az/v1/token",
"method": "POST",
"headers": {
"authorization": "Basic YXBpYzptZnBhcGlj",
"grant_type": "client_credentials",
"cache-control": "no-cache",
"postman-token": "05a672e5-6141-fd6f-82e2-b282d68dce35",
"content-type": "application/x-www-form-urlencoded"
},
"data": {
"grant_type": "client_credentials",
"scope": "settings.read"
}
}
$.ajax(getBasic).done(function (response) {
console.log(response);
var accessToken = response.access_token;
console.log(accessToken);
var settings = {
"async": true,
"crossDomain": true,
"url": "https://....:8445/mfpadmin/management-apis/2.0/runtimes/mfp/applications",
"method": "GET",
"headers": {
"authorization": "Bearer " + accessToken,
"cache-control": "no-cache"
}
}
console.log(settings);
$.ajax(settings).done(function (response) {
console.log("response: " + response.totalListSize);
});
});
然而,当我在WebUI中运行这个我从/令牌 但我200响应从我的/ mfp /应用程序获得401(未授权)
为什么在邮递员中工作,但不是从Web UI(Chrome)工作?
我想你应该获得由代码访问令牌,而不是简单地重新使用现有的令牌。你有没有尝试通过代码获得它? https://mobilefirstplatform.ibmcloud.com/tutorials/en/foundation/8。0/authentication-and-security/confidential-clients /#获取访问令牌 –
我使用getBasic详细信息获取不记名令牌。当这个调用完成时,我从响应中获取access_token并将其传递给设置变量(/ mfp/applications)。 –
你是什么意思的“我然后选择从邮递员复制ajax代码”? –