Ibm cloud 如何使用下面的curl请求检索用户ID和iam令牌?

Ibm cloud 如何使用下面的curl请求检索用户ID和iam令牌?,ibm-cloud,ibm-cloud-infrastructure,Ibm Cloud,Ibm Cloud Infrastructure,作为联邦用户,它必须使用API密钥或一次性密码进行身份验证。我已尝试执行以下curl请求:- 例如:- 输入:- curl -s -u 'bx:bx' -k -X POST --header 'Content-Type: application/x-www-form-urlencoded' --header 'Accept: application/json' -d "grant_type=password&response_type=cloud_iam,ims_portal&u

作为联邦用户,它必须使用API密钥或一次性密码进行身份验证。我已尝试执行以下curl请求:-

例如:-

输入:-

curl -s -u 'bx:bx' -k -X POST --header 'Content-Type: application/x-www-form-urlencoded' --header 'Accept: application/json' -d "grant_type=password&response_type=cloud_iam,ims_portal&username=${1}&password=${2}&ims_account=${3}" https://iam.ng.bluemix.net/oidc/token
输出:-

"errorMessage":"You cannot authenticate with user name and password, as you are a federated user","errorDetails":"Your user id '<<><><>>' is federated and must use an API key or one-time passcode to authenticate"
“errorMessage”:“您不能使用用户名和密码进行身份验证,因为您是联合用户”,“errorDetails”:“您的用户id”是联合的,必须使用API密钥或一次性密码进行身份验证”
但是我们如何验证用户以生成iam_令牌和iam_用户id

参考:-

您从《SoftLayer指南》中引用的代码片段具有设置SoftLayer用户名和API密钥的结果:

echo "SL_USERNAME: $SL_USERNAME"
echo "SL_API_KEY: $SL_API_KEY"
这是一种迂回的方法,可以找到在您的应用程序中作为API用户名和身份验证密钥列出的相同信息。如果看不到API用户名和身份验证密钥,可以在中的“操作”菜单上的名称旁边创建一个

然后可以执行基础架构API,我希望这是最终目标

export IAAS_USERNAME=<API Username>
export IAAS_KEY=<Authentication Key>
curl -u $IAAS_USERNAME:$IAAS_KEY https://api.softlayer.com/rest/v3/SoftLayer_Account/getAllBillingItems
导出IAAS\u用户名=
导出IAAS_密钥=
curl-u$IAAS\u用户名:$IAAS\u密钥https://api.softlayer.com/rest/v3/SoftLayer_Account/getAllBillingItems
目前尚不清楚是否有必要讨论IAM代币。如果上述建议不充分,请提供更多指导,说明您试图实现的目标