mirror of
https://github.com/ansible/awx.git
synced 2026-06-24 16:17:51 -02:30
[Devel][AAP-65384]Restoration of Token Authentication for AWX CLI (#16281)
* Added token authentication in logic, arguments, and test
This commit is contained in:
@@ -83,12 +83,23 @@ class CLI(object):
|
||||
def authenticate(self):
|
||||
"""Configure the current session for authentication.
|
||||
|
||||
Uses Basic authentication when AWXKIT_FORCE_BASIC_AUTH environment variable
|
||||
is set to true, otherwise defaults to session-based authentication.
|
||||
Authentication priority:
|
||||
1. Token authentication (if --conf.token provided)
|
||||
2. Basic authentication (if AWXKIT_FORCE_BASIC_AUTH=true)
|
||||
3. Session-based authentication (default)
|
||||
|
||||
|
||||
For AAP Gateway environments, set AWXKIT_FORCE_BASIC_AUTH=true to bypass
|
||||
session login restrictions.
|
||||
session login restrictions when using username/password.
|
||||
|
||||
"""
|
||||
# Token authentication (if token is provided)
|
||||
token = self.get_config('token')
|
||||
if token:
|
||||
config.use_sessions = False
|
||||
self.root.connection.login(None, None, token=token)
|
||||
return
|
||||
|
||||
# Check if Basic auth is forced via environment variable
|
||||
if config.get('force_basic_auth', False):
|
||||
config.use_sessions = False
|
||||
|
||||
@@ -59,6 +59,12 @@ def add_authentication_arguments(parser, env):
|
||||
default=env.get('CONTROLLER_PASSWORD', env.get('TOWER_PASSWORD', config_password)),
|
||||
metavar='TEXT',
|
||||
)
|
||||
auth.add_argument(
|
||||
'--conf.token',
|
||||
default=env.get('CONTROLLER_OAUTH_TOKEN', env.get('TOWER_OAUTH_TOKEN', None)),
|
||||
metavar='TEXT',
|
||||
help='OAuth2 token for authentication (takes precedence over username/password)',
|
||||
)
|
||||
|
||||
auth.add_argument(
|
||||
'-k',
|
||||
|
||||
Reference in New Issue
Block a user