Merge pull request #6124 from ryanpetrello/awx-login-token-description

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

Reviewed-by: Jeff Bradberry
             https://github.com/jbradberry
This commit is contained in:
softwarefactory-project-zuul[bot] 2020-02-28 20:02:19 +00:00 committed by GitHub
commit 2ec035f918
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
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: