【问题标题】:OpenStack POST request "X-Auth-Token"OpenStack POST 请求“X-Auth-Token”
【发布时间】:2017-11-25 07:59:55
【问题描述】:

我正在编写一个 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。现在,例如,我想创建一个图像,但我不知道如何使用令牌来验证我的 Glance 服务。 如果我使用这个:

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" }'

它返回给我授权错误。

【问题讨论】:

    标签: java json token openstack


    【解决方案1】:

    据我所知,当您请求令牌而不限定项目时,您最终可能会遇到一些问题。不知道为什么,所以这可能不是答案。 作为一种解决方法,使用项目请求令牌:

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

    【讨论】:

      猜你喜欢
      • 2020-12-19
      • 1970-01-01
      • 2016-09-09
      • 1970-01-01
      • 2020-08-27
      • 2021-09-29
      • 1970-01-01
      • 1970-01-01
      • 2021-09-23
      相关资源
      最近更新 更多