1

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

现在,当使用 Horizo​​n 添加项目时,我如何获取该项目的令牌,因为我没有存储登录用户的用户 ID/密码,并且要获取项目的令牌,我需要发送 /v2.0 /tokens 与以下 POST 数据,

{"auth": {"tenantName": "admin", "passwordCredentials": {"username": "user", "password": "password"}}}

但是由于我没有存储用户名/密码,一旦用户登录,那么之后我如何获得新项目的令牌?

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

问候,-M-

4

2 回答 2

0

有多种身份验证模式,可以是令牌、密码、oauth 等。如果您之前请求过无范围令牌,那么您可以使用无范围令牌来获取范围令牌(对于项目/租户)。

于 2014-11-02T17:18:50.907 回答
0

看了v2的keystoneclient代码,我得到了答案,我们可以使用现有的token本身获取一个新项目的token

data = {"auth": {"token": {"id": token}}}
data['auth']['tenantName'] = tenantName;

问候,-M-

于 2014-09-17T01:18:46.527 回答