1818import logging
1919import six
2020
21- from cliff import command
22- from cliff import lister
2321from cliff import show
2422
25- from openstackclient .common import utils
26-
27-
28- class AuthenticateAccessToken (show .ShowOne ):
29- """Authenticate access token to receive keystone token"""
30-
31- api = 'identity'
32- log = logging .getLogger (__name__ + '.AuthenticateAccessToken' )
33-
34- def get_parser (self , prog_name ):
35- parser = super (AuthenticateAccessToken , self ).get_parser (prog_name )
36- parser .add_argument (
37- '--consumer-key' ,
38- metavar = '<consumer-key>' ,
39- help = 'Consumer key' ,
40- required = True
41- )
42- parser .add_argument (
43- '--consumer-secret' ,
44- metavar = '<consumer-secret>' ,
45- help = 'Consumer secret' ,
46- required = True
47- )
48- parser .add_argument (
49- '--access-key' ,
50- metavar = '<access-key>' ,
51- help = 'Access token key' ,
52- required = True
53- )
54- parser .add_argument (
55- '--access-secret' ,
56- metavar = '<access-secret>' ,
57- help = 'Access token secret' ,
58- required = True
59- )
60- return parser
61-
62- def take_action (self , parsed_args ):
63- self .log .debug ('take_action(%s)' , parsed_args )
64- token_client = self .app .client_manager .identity .tokens
65- keystone_token = token_client .authenticate_access_token (
66- parsed_args .consumer_key , parsed_args .consumer_secret ,
67- parsed_args .access_key , parsed_args .access_secret )
68- return zip (* sorted (six .iteritems (keystone_token )))
69-
7023
7124class AuthorizeRequestToken (show .ShowOne ):
7225 """Authorize request token command"""
@@ -78,17 +31,28 @@ def get_parser(self, prog_name):
7831 parser .add_argument (
7932 '--request-key' ,
8033 metavar = '<request-key>' ,
81- help = 'Consumer key' ,
34+ help = 'Request token key' ,
35+ required = True
36+ )
37+ parser .add_argument (
38+ '--role-ids' ,
39+ metavar = '<role-ids>' ,
40+ help = 'Requested role IDs' ,
8241 required = True
8342 )
8443 return parser
8544
8645 def take_action (self , parsed_args ):
87- self .log .debug ('take_action(%s)' , parsed_args )
88- token_client = self .app .client_manager .identity . tokens
46+ self .log .debug ('take_action(%s)' % parsed_args )
47+ identity_client = self .app .client_manager .identity
8948
90- verifier_pin = token_client .authorize_request_token (
91- parsed_args .request_key )
49+ roles = []
50+ for r_id in parsed_args .role_ids .split ():
51+ roles .append (r_id )
52+
53+ verifier_pin = identity_client .oauth1 .request_tokens .authorize (
54+ parsed_args .request_key ,
55+ roles )
9256 info = {}
9357 info .update (verifier_pin ._info )
9458 return zip (* sorted (six .iteritems (info )))
@@ -134,13 +98,15 @@ def get_parser(self, prog_name):
13498 return parser
13599
136100 def take_action (self , parsed_args ):
137- self .log .debug ('take_action(%s)' , parsed_args )
138- token_client = self .app .client_manager .identity .tokens
139- access_token = token_client .create_access_token (
101+ self .log .debug ('take_action(%s)' % parsed_args )
102+ token_client = self .app .client_manager .identity .oauth1 . access_tokens
103+ access_token = token_client .create (
140104 parsed_args .consumer_key , parsed_args .consumer_secret ,
141105 parsed_args .request_key , parsed_args .request_secret ,
142106 parsed_args .verifier )
143- return zip (* sorted (six .iteritems (access_token )))
107+ info = {}
108+ info .update (access_token ._info )
109+ return zip (* sorted (six .iteritems (info )))
144110
145111
146112class CreateRequestToken (show .ShowOne ):
@@ -162,27 +128,24 @@ def get_parser(self, prog_name):
162128 help = 'Consumer secret' ,
163129 required = True
164130 )
165- parser .add_argument (
166- '--role-ids' ,
167- metavar = '<role-ids>' ,
168- help = 'Requested role IDs' ,
169- )
170131 parser .add_argument (
171132 '--project-id' ,
172133 metavar = '<project-id>' ,
173134 help = 'Requested project ID' ,
135+ required = True
174136 )
175137 return parser
176138
177139 def take_action (self , parsed_args ):
178- self .log .debug ('take_action(%s)' , parsed_args )
179- token_client = self .app .client_manager .identity .tokens
180- request_token = token_client .create_request_token (
140+ self .log .debug ('take_action(%s)' % parsed_args )
141+ token_client = self .app .client_manager .identity .oauth1 . request_tokens
142+ request_token = token_client .create (
181143 parsed_args .consumer_key ,
182144 parsed_args .consumer_secret ,
183- parsed_args .role_ids ,
184145 parsed_args .project_id )
185- return zip (* sorted (six .iteritems (request_token )))
146+ info = {}
147+ info .update (request_token ._info )
148+ return zip (* sorted (six .iteritems (info )))
186149
187150
188151class CreateToken (show .ShowOne ):
@@ -201,64 +164,3 @@ def take_action(self, parsed_args):
201164 if 'tenant_id' in token :
202165 token ['project_id' ] = token .pop ('tenant_id' )
203166 return zip (* sorted (six .iteritems (token )))
204-
205-
206- class DeleteAccessToken (command .Command ):
207- """Delete access token command"""
208-
209- log = logging .getLogger (__name__ + '.DeleteAccessToken' )
210-
211- def get_parser (self , prog_name ):
212- parser = super (DeleteAccessToken , self ).get_parser (prog_name )
213- parser .add_argument (
214- 'user' ,
215- metavar = '<user>' ,
216- help = 'Name or ID of user' ,
217- )
218- parser .add_argument (
219- 'access_key' ,
220- metavar = '<access-key>' ,
221- help = 'Access token to be deleted' ,
222- )
223- return parser
224-
225- def take_action (self , parsed_args ):
226- self .log .debug ('take_action(%s)' , parsed_args )
227-
228- identity_client = self .app .client_manager .identity
229- user = utils .find_resource (
230- identity_client .users , parsed_args .user ).id
231- identity_client .tokens .delete_access_token (user ,
232- parsed_args .access_key )
233- return
234-
235-
236- class ListAccessToken (lister .Lister ):
237- """List access tokens command"""
238-
239- log = logging .getLogger (__name__ + '.ListAccessToken' )
240-
241- def get_parser (self , prog_name ):
242- parser = super (ListAccessToken , self ).get_parser (prog_name )
243- parser .add_argument (
244- 'user' ,
245- metavar = '<user>' ,
246- help = 'Name or ID of user' ,
247- )
248- return parser
249-
250- def take_action (self , parsed_args ):
251- self .log .debug ('take_action(%s)' , parsed_args )
252-
253- identity_client = self .app .client_manager .identity
254- user = utils .find_resource (
255- identity_client .users , parsed_args .user ).id
256-
257- columns = ('ID' , 'Consumer ID' , 'Expires At' ,
258- 'Project Id' , 'Authorizing User Id' )
259- data = identity_client .tokens .list_access_tokens (user )
260- return (columns ,
261- (utils .get_item_properties (
262- s , columns ,
263- formatters = {},
264- ) for s in data ))
0 commit comments