cli: add the ability to specify a token description w/ awx login

see: https://github.com/ansible/awx/issues/6122
This commit is contained in:
Ryan Petrello 2020-02-28 11:12:26 -05:00
parent 7fe57268f6
commit 3e0e4b6c8f
No known key found for this signature in database
GPG Key ID: F2AA5F2122351777
2 changed files with 5 additions and 1 deletions

View File

@ -140,6 +140,7 @@ class Base(Page):
load_default_authtoken = load_authtoken
def get_oauth2_token(self, username='', password='', client_id=None,
description='AWX CLI',
client_secret=None, scope='write'):
default_cred = config.credentials.default
username = username or default_cred.username
@ -176,7 +177,7 @@ class Base(Page):
resp = self.connection.post(
'/api/v2/users/{}/personal_tokens/'.format(username),
json={
"description": "Tower CLI",
"description": description,
"application": None,
"scope": scope
},

View File

@ -76,6 +76,7 @@ class Login(CustomCommand):
def handle(self, client, parser):
auth = parser.add_argument_group('OAuth2.0 Options')
auth.add_argument('--description', help='description of the generated OAuth2.0 token', metavar='TEXT')
auth.add_argument('--conf.client_id', metavar='TEXT')
auth.add_argument('--conf.client_secret', metavar='TEXT')
auth.add_argument(
@ -90,6 +91,8 @@ class Login(CustomCommand):
'client_secret': getattr(parsed, 'conf.client_secret', None),
'scope': getattr(parsed, 'conf.scope', None),
}
if getattr(parsed, 'description', None):
kwargs['description'] = parsed.description
try:
token = api.Api().get_oauth2_token(**kwargs)
except Exception as e: