如何在V3和V2 API中创建相同的Openstack Keystone身份验证请求?

时间:2016-07-22 23:13:51

标签: openstack keystone

我在Fedora 24服务器虚拟机上安装了一台OpenStack Mitaka,其中包括Keystone和Swift。我浏览了OpenStack安装说明并获得了v3 keystone API,但我正在安装的其他软件依赖于v2。即使对v3 API的等效请求正常工作,我也无法使用v2 API进行身份验证并获取令牌。以下是我正在提出的两项要求:

V3:

curl -i   -H "Content-Type: application/json"   -d '
{ "auth": {
    "identity": {
      "methods": ["password"],
      "password": {
        "user": {
          "name": "admin",
          "domain": { "name": "default" },
          "password": "PASSWORD"
        }
      }
    }
  }
}'   http://SERVER:35357/v3/auth/tokens

V2:

curl -d -H "Content-Type: application/json"
'{"auth": {
      "passwordCredentials": {
             "username": "admin",
             "password": "PASSWORD"
      },
      "tenantName": "admin"
    }
   }'  http://SERVER:35357/v2.0/tokens

V3请求返回一个令牌,但V2请求失败并显示:

{"error": {"message": "The request you have made requires authentication.", "code": 401, "title": "Unauthorized"}}

这些API请求是否相同?是否存在需要更改的keystone.conf设置才能使V2 API正常工作?

1 个答案:

答案 0 :(得分:0)

如果您默认运行v2 keystone版本,则会在http://SERVER:5000/v2.0启动,确保您的端口已打开且v2版本已启用并正常工作。