如何为另一个用户生成OpenStack Swift访问令牌?

时间:2017-03-15 06:06:36

标签: openstack keystore openstack-swift

我有一个openstack swift帐户,我可以使用我的用户名和密码访问swift中的对象。我的openstack swift采用密钥库来处理auth。

现在我想生成一个令牌,另一个只能使用令牌访问swift中的对象。并且令牌将在一段时间后过期。我可以这样做吗?我该怎么办?

1 个答案:

答案 0 :(得分:0)

首先使用以下方法生成令牌:

var version = typeof(MyApplicationName.MvcApplication).Assembly.GetName().Version;
var buildDateTime = new DateTime(2000, 1, 1).Add(new TimeSpan( TimeSpan.TicksPerDay * version.Build + TimeSpan.TicksPerSecond *2 * version.Revision));

然后使用:

获取toke
$ curl -v -s -X POST $OS_AUTH_URL/auth/tokens?nocatalog   
-H "Content-Type: application/json"   -d '{ "auth": { "identity": { "methods": ["password"],
"password": {"user": {"domain": {"name": "'"$OS_USER_DOMAIN_NAME"'"},
"name": "'"$OS_USERNAME"'", "password": "'"$OS_PASSWORD"'"} } }, 
"scope": { "project": { "domain": { "name": "'"$OS_PROJECT_DOMAIN_NAME"'" }, 
"name":  "'"$OS_PROJECT_NAME"'" } } }}' \
| python -m json.tool