OpenStack POST请求“X-Auth-Token”

时间:2017-11-25 07:59:56

标签: java json token openstack

我正在编写一个java代码,我正在使用json响应对Openstack进行Http请求。

我使用此命令请求令牌:

curl -v -s -X POST http://$OS_URL:5000/v3/auth/tokens -H "Content-Type: application/json" -d '{"auth": {"identity": {"methods": ["password"],"password": {"user": {"name": "$USERNAME","domain": {"name": "$DEFAULT_NAME"},"password": "PASSWORD"}}}}}'

它给我一个json。现在,例如,我想创建一个图像,但我不知道如何使用该令牌来验证我浏览服务。 如果我使用它:

curl -v -s -X POST http://$OS_URL:9292/v2/images -H "Content-Type: application/json" -H "X-Auth_token: $TOKEN_ID" -d '{"container_format": "bare", "disk_format": "qcow2", "name": "NEWIMAGE" }'

它返回授权错误。

1 个答案:

答案 0 :(得分:0)

据我所知,当您在没有确定项目范围的情况下请求令牌时,您可能会遇到一些问题。不确定为什么,所以这可能不是一个答案。 作为变通方法请求使用项目的令牌:

{
    "auth": {
        "identity": {
      "methods": ["password"],
      "password": {
        "user": {
          "name": "username",
          "domain": { "id": "domain id" },
          "password": "password"
        }
            }
        },
        "scope": {
            "project": {
                "id": "project id"
            }
        }
    }
}