Skip to content

Commit 6cb58fa

Browse files
Jenkinsopenstack-gerrit
authored andcommitted
Merge "Add authenticate method to oauth code"
2 parents 1a0d5cc + 7139083 commit 6cb58fa

2 files changed

Lines changed: 81 additions & 27 deletions

File tree

‎openstackclient/identity/v3/oauth.py‎

Lines changed: 80 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,49 @@
2525
from openstackclient.common import utils
2626

2727

28+
class AuthenticateAccessToken(show.ShowOne):
29+
"""Authenticate access token - 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+
oauth_client = self.app.client_manager.identity.oauth
65+
keystone_token = oauth_client.authenticate(
66+
parsed_args.consumer_key, parsed_args.consumer_secret,
67+
parsed_args.access_key, parsed_args.access_secret)
68+
return zip(*sorted(keystone_token.iteritems()))
69+
70+
2871
class AuthorizeRequestToken(show.ShowOne):
2972
"""Authorize request token command"""
3073

@@ -38,12 +81,6 @@ def get_parser(self, prog_name):
3881
help='Consumer key',
3982
required=True
4083
)
41-
parser.add_argument(
42-
'--user-token',
43-
metavar='<user-token>',
44-
help='Token of authorizing user',
45-
required=True
46-
)
4784
parser.add_argument(
4885
'--roles',
4986
metavar='<roles>',
@@ -54,11 +91,10 @@ def get_parser(self, prog_name):
5491

5592
def take_action(self, parsed_args):
5693
self.log.debug('take_action(%s)' % parsed_args)
57-
oauth_client = self.app.client_manager.identity.oauths
94+
oauth_client = self.app.client_manager.identity.oauth
5895

5996
verifier_pin = oauth_client.authorize_request_token(
60-
parsed_args.request_key, parsed_args.user_token,
61-
parsed_args.roles)
97+
parsed_args.request_key, parsed_args.roles)
6298
info = {}
6399
info.update(verifier_pin._info)
64100
return zip(*sorted(info.iteritems()))
@@ -77,10 +113,22 @@ def get_parser(self, prog_name):
77113
help='Consumer key',
78114
required=True
79115
)
116+
parser.add_argument(
117+
'--consumer-secret',
118+
metavar='<consumer-secret>',
119+
help='Consumer secret',
120+
required=True
121+
)
80122
parser.add_argument(
81123
'--request-key',
82124
metavar='<request-key>',
83-
help='Consumer key',
125+
help='Request token key',
126+
required=True
127+
)
128+
parser.add_argument(
129+
'--request-secret',
130+
metavar='<request-secret>',
131+
help='Request token secret',
84132
required=True
85133
)
86134
parser.add_argument(
@@ -93,13 +141,12 @@ def get_parser(self, prog_name):
93141

94142
def take_action(self, parsed_args):
95143
self.log.debug('take_action(%s)' % parsed_args)
96-
oauth_client = self.app.client_manager.identity.oauths
144+
oauth_client = self.app.client_manager.identity.oauth
97145
access_token = oauth_client.create_access_token(
98-
parsed_args.consumer_key, parsed_args.request_key,
146+
parsed_args.consumer_key, parsed_args.consumer_secret,
147+
parsed_args.request_key, parsed_args.request_secret,
99148
parsed_args.verifier)
100-
info = {}
101-
info.update(access_token._info)
102-
return zip(*sorted(info.iteritems()))
149+
return zip(*sorted(access_token.iteritems()))
103150

104151

105152
class CreateConsumer(show.ShowOne):
@@ -119,7 +166,7 @@ def get_parser(self, prog_name):
119166
def take_action(self, parsed_args):
120167
self.log.debug('take_action(%s)' % parsed_args)
121168
identity_client = self.app.client_manager.identity
122-
consumer = identity_client.oauths.create_consumer(
169+
consumer = identity_client.oauth.create_consumer(
123170
parsed_args.name
124171
)
125172
info = {}
@@ -140,6 +187,12 @@ def get_parser(self, prog_name):
140187
help='Consumer key',
141188
required=True
142189
)
190+
parser.add_argument(
191+
'--consumer-secret',
192+
metavar='<consumer-secret>',
193+
help='Consumer secret',
194+
required=True
195+
)
143196
parser.add_argument(
144197
'--roles',
145198
metavar='<roles>',
@@ -149,12 +202,12 @@ def get_parser(self, prog_name):
149202

150203
def take_action(self, parsed_args):
151204
self.log.debug('take_action(%s)' % parsed_args)
152-
oauth_client = self.app.client_manager.identity.oauths
205+
oauth_client = self.app.client_manager.identity.oauth
153206
request_token = oauth_client.create_request_token(
154-
parsed_args.consumer_key, parsed_args.roles)
155-
info = {}
156-
info.update(request_token._info)
157-
return zip(*sorted(info.iteritems()))
207+
parsed_args.consumer_key,
208+
parsed_args.consumer_secret,
209+
parsed_args.roles)
210+
return zip(*sorted(request_token.iteritems()))
158211

159212

160213
class DeleteConsumer(command.Command):
@@ -175,8 +228,8 @@ def take_action(self, parsed_args):
175228
self.log.debug('take_action(%s)' % parsed_args)
176229
identity_client = self.app.client_manager.identity
177230
consumer = utils.find_resource(
178-
identity_client.oauths, parsed_args.consumer)
179-
identity_client.oauths.delete_consumer(consumer.id)
231+
identity_client.oauth, parsed_args.consumer)
232+
identity_client.oauth.delete_consumer(consumer.id)
180233
return
181234

182235

@@ -188,7 +241,7 @@ class ListConsumer(lister.Lister):
188241
def take_action(self, parsed_args):
189242
self.log.debug('take_action(%s)' % parsed_args)
190243
columns = ('ID', 'Name', 'Consumer Key', 'Consumer Secret')
191-
data = self.app.client_manager.identity.oauths.list_consumers()
244+
data = self.app.client_manager.identity.oauth.list_consumers()
192245
return (columns,
193246
(utils.get_item_properties(
194247
s, columns,
@@ -219,15 +272,15 @@ def take_action(self, parsed_args):
219272
self.log.debug('take_action(%s)' % parsed_args)
220273
identity_client = self.app.client_manager.identity
221274
consumer = utils.find_resource(
222-
identity_client.oauths, parsed_args.consumer)
275+
identity_client.oauth, parsed_args.consumer)
223276
kwargs = {}
224277
if parsed_args.name:
225278
kwargs['name'] = parsed_args.name
226279

227280
if not len(kwargs):
228281
sys.stdout.write("Consumer not updated, no arguments present")
229282
return
230-
identity_client.oauths.update_consumer(consumer.id, **kwargs)
283+
identity_client.oauth.update_consumer(consumer.id, **kwargs)
231284
return
232285

233286

@@ -249,7 +302,7 @@ def take_action(self, parsed_args):
249302
self.log.debug('take_action(%s)' % parsed_args)
250303
identity_client = self.app.client_manager.identity
251304
consumer = utils.find_resource(
252-
identity_client.oauths, parsed_args.consumer)
305+
identity_client.oauth, parsed_args.consumer)
253306

254307
info = {}
255308
info.update(consumer._info)

‎setup.cfg‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ openstack.identity.v2_0 =
6969
user_show = openstackclient.identity.v2_0.user:ShowUser
7070

7171
openstack.identity.v3 =
72+
access_token_authenticate = openstackclient.identity.v3.oauth:AuthenticateAccessToken
7273
access_token_create = openstackclient.identity.v3.oauth:CreateAccessToken
7374

7475
consumer_create = openstackclient.identity.v3.oauth:CreateConsumer

0 commit comments

Comments
 (0)