Openstack keystone v2-不使用用户ID/密码获取令牌

Openstack keystone v2-不使用用户ID/密码获取令牌,openstack,keystone,openstack-horizon,Openstack,Keystone,Openstack Horizon,我正在编写一个应用程序,它使用keystone v2.0 API进行身份验证,现在在使用authentication/v2.0/tokens时,我获得了用户确实有权访问的所有项目的令牌 现在,当使用horizon添加项目时,我如何获取该项目的令牌,因为我没有为登录用户存储userid/password,要获取项目的令牌,我需要发送带有以下POST数据的/v2.0/tokens {"auth": {"tenantName": "admin", "passwordCredentials": {"us

我正在编写一个应用程序,它使用keystone v2.0 API进行身份验证,现在在使用authentication/v2.0/tokens时,我获得了用户确实有权访问的所有项目的令牌

现在,当使用horizon添加项目时,我如何获取该项目的令牌,因为我没有为登录用户存储userid/password,要获取项目的令牌,我需要发送带有以下POST数据的/v2.0/tokens

{"auth": {"tenantName": "admin", "passwordCredentials": {"username": "user", "password": "password"}}}
但是,由于我没有存储用户ID/密码,一旦用户登录,那么我如何才能获得新项目的令牌

是否需要将用户id/密码存储在以后可以使用的位置?如果是,那么通常存储用户凭据的最佳方式是什么

问候,,
-M-

在研究了v2的keysteneclient代码之后,我得到了答案,我们可以使用现有令牌本身获取新项目的令牌

data = {"auth": {"token": {"id": token}}}
data['auth']['tenantName'] = tenantName;
问候,,
-M-

身份验证有多种模式,可以是令牌、密码、oauth等。 如果您以前请求过非作用域令牌,则可以使用非作用域令牌获取作用域令牌(对于项目/租户)