如何在openstack中获取Auth-Token

时间:2016-08-07 13:07:54

标签: openstack openstack-swift

我在VM(Virutal Box)中安装了OpenStack自由,我正在尝试获取Aut-token,并且我有一些方法可以从堆栈溢出中获取Auth-token,所以我使用了该命令

curl -d'{“auth”:{“passwordCredentials”:{“username”:“can”,“password”:“mypassword”}}}'-H“内容类型:application / json “http://localhost/v2.0/tokens

但它没有给出任何回复,只是显示

>

在命令提示符中。任何人都可以解释我的步骤有什么问题。

2 个答案:

答案 0 :(得分:1)

您看到的>字符表示复制/粘贴错误。您可能在curl命令中间粘贴换行符。

您传递给keystone的令牌请求很好,但在大多数情况下,keystone将在端口5000上运行,您需要在URL中指定(例如http://localhost:5000/v2.0/tokens)。

以下是您应该获得的示例:

# curl -sd '{"auth":{"passwordCredentials":{"username": "admin", "password": "password"}}}' -H "Content-type: application/json" http://192.168.113.57:5000/v2.0/tokens | python -m json.tool
{
    "access": {
        "metadata": {
            "is_admin": 0,
            "roles": []
        },
        "serviceCatalog": [],
        "token": {
            "audit_ids": [
                "Yk4h80jJTe6jiGKzXFge9Q"
            ],
            "expires": "2016-08-08T03:06:40Z",
            "id": "gAAAAABXp06AlKkt_fxEuDbjW19h4nvwC-7rgEr9Mw4abtc_uUGTm4HSGukUzRf5JYS8Q6J-fexDVLTtA7doaUzkvnLlLSFEfjW0e4IVq3V0rccvU9fLErNcNcWWJNx3pPM1fjBHEvGOlYvwEFmUUXhxl9VHKqO_DQ",
            "issued_at": "2016-08-07T15:06:40.000000Z"
        },
        "user": {
            "id": "732a8637a18b4e91ac9d8a95a8477e05",
            "name": "admin",
            "roles": [],
            "roles_links": [],
            "username": "admin"
        }
    }
}

答案 1 :(得分:1)

使用curl命令获取令牌:

curl http://<controller_ip>:5000/v2.0/tokens \
-X POST \
-d '{"auth":{"tenantName":"demo", "passwordCredentials":{"username":"demo", "password":"*****"}}}' \
-H "Content-type: application/json" | python -m json.tool