尝试调用IBM AppID管理API/用户时返回403的Post请求

尝试调用IBM AppID管理API/用户时返回403的Post请求,post,ibm-cloud,http-status-code-403,app-id,ibm-iam,Post,Ibm Cloud,Http Status Code 403,App Id,Ibm Iam,我正在尝试在我的应用程序中创建一个自定义IBMAppID管理Api接口。 为了做到这一点,我使用IBMIAM令牌管理器库来获取IAM访问令牌 const itm = require('@ibm-functions/iam-token-manager') const m = new itm({ "iamApiKey": apiKey }) m.getAuthHeader().then(token => { console.log("this one won't work",

我正在尝试在我的应用程序中创建一个自定义IBMAppID管理Api接口。 为了做到这一点,我使用IBMIAM令牌管理器库来获取IAM访问令牌

const itm = require('@ibm-functions/iam-token-manager')
const m = new itm({
    "iamApiKey": apiKey
})
m.getAuthHeader().then(token => {
    console.log("this one won't work", token)
}

var headers = 
{
    'accept': 'application/json',
    'Authorization': token,
    'Content-Type': 'application/json'
};
var options = 
{
    url: replacedIssUrl+"/users",
    method: 'POST',
    headers: headers,
    body: dataString
};
function callback(error, response, body) {
    console.log(response)
    if (!error && response.statusCode == 200) {
        console.log(body); //returns "body: "Forbidden"
    }
}
request(options, callback)

每当我尝试使用库生成的令牌预注册用户时,回调将返回状态403-禁止,但如果它直接通过ibmcloud shell(ibmcloud IAM oauth令牌)获取IAM访问令牌,则可以正常工作

有人知道为什么会这样吗?我知道IAM令牌管理器库生成的访问令牌正在工作,因为我正在使用它获取同一代码上的用户ID

当我的访问令牌出现问题时,它通常返回“未经授权”,而不是“禁止”

我不知道为什么会这样


提前感谢。

在标头中传递IAM令牌时,App ID希望它前面有“Bearer”字符串:

var headers = 
{
    'accept': 'application/json',
    'Authorization': 'Bearer ' + token,
    'Content-Type': 'application/json'
};

在标头中传递IAM令牌时,App ID希望它前面有“Bearer”字符串:

var headers = 
{
    'accept': 'application/json',
    'Authorization': 'Bearer ' + token,
    'Content-Type': 'application/json'
};