2016-09-07 70 views
1

在過去,我得到令牌ID在kystoneclient V2用這個命令:如何獲得令牌ID在keystoneclient V3

token = keystone.auth_ref['token']['id'] 

但是,當我們進入梯形失真客戶v3的,我只是嘗試與上述相同命令。但我總是得到一個錯誤。 請您請讓我知道我如何獲得令牌ID。

回答

1

在keystone客戶端v3中,身份驗證響應會在其標頭中而不是在名爲「X-Subject-Token」的響應主體中返回標識ID。

你可以看到這裏的變化:

https://developer.openstack.org/api-ref/identity/v3/index.html?expanded=list-endpoints-detail,create-credential-detail,validate-and-show-information-for-token-detail,password-authentication-with-unscoped-authorization-detail

我曾試圖用Perl來獲得令牌是這樣的:

my $res = $agent->post(
    $self->{auth_url} . "/auth/tokens", 
    content_type => 'application/json', 
    content  => to_json($authKeystone) 
); 
my $headerData = $res->{_headers}; 
my $tokenId = $headerData->{'x-subject-token'}; 

它的工作原理!

1

keystone.auth_ref [ '的auth_token']

或者使用捲曲如下:

捲曲-sd「{ 「AUTH」:{ 「passwordCredentials」:{ 「用戶名」 :「admin」, 「password」:「mysecret」}}}'-H「Content-type:application/json」 http://192.168.131.129:5000/v2.0/tokens | python -m json.tool