使用 Keystone 的全局实例

Using Global Instance of Keystone

是否可以使用 Keystone 的全局实例来检索注册的用户个人资料信息?

根据这些参考:https://github.com/telefonicaid/fiware-pep-steelskin#keystone and Keystone create user and permissions by api,如果我想自己安装一个实例,似乎是可以的。但是,如果我想改用全局实例怎么办。可能吗?

例如,我测试过如下所示检索一些数据但没有成功:

curl -s -H "X-Auth-Token:cXylpiNyh74V6J9YOlqN2GTzYSmGQa" http://cloud.lab.fiware.org:4730/v2.0/tokens | python -mjson.tool

curl -s -H "X-Auth-Token:cXylpiNyh74V6J9YOlqN2GTzYSmGQa" http://cloud.lab.fiware.org:4730/v3/users/ | python -mjson.tool

curl http://cloud.lab.fiware.org:4730/v3/auth/tokens -H "Content-Type: application/json" -d ' { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "domain": { "name": "matest" }, "name": "pep_proxy_99c59...", "password": "e3025a286dab..." } } } } }'

注意:我已经尝试了两个端口:50004730

如有任何提示,我们将不胜感激。

用户无权查看其他用户信息或使用 API 创建新用户。

但是,您可以使用 v2.0 和 v3 协议从全局 keystone 发行令牌:

curl -X POST http://130.206.84.8:4730/v2.0/tokens \
     -H 'Content-Type: application/json' \
     -d "{\"auth\": {\"tenantName\": \"${OS_TENANT_NAME}\",
          \"passwordCredentials\": {
              \"username\": \"$OS_USERNAME\", 
              \"password\": \"$OS_PASSWORD\"}}}" | \
jq -r '.access.token.id'

或在 v3 中发行令牌:

curl -v  -H "Content-Type: application/json" -d "
{ \"auth\": {
   \"identity\": {
     \"methods\": [\"password\"],
     \"password\": {
         \"user\": {
             \"name\": \"$OS_USERNAME\",
             \"domain\": { \"id\": \"default\" },
             \"password\": \"$OS_PASSWORD\"
         }
     }
   }
 }
}" http://cloud.lab.fiware.org:4730/v3/auth/tokens 2>&1 \
| grep -i "X-Subject-Token"

如果您不是管理员用户(非管理员用户显然没有多少权限),您可以使用这些令牌对 Keystone 本身执行一些操作。但是,您可以查询端点:

curl -s -H "X-Auth-Token: $TOKEN_ID" http://130.206.84.8:4730/v3/endpoints

域:

curl -s -H "X-Auth-Token: $TOKEN_ID" http://130.206.84.8:4730/v3/domains