[gerrit_util] Add dogfoodable luci-auth Authenticator.

Inspired by https://chromium-review.googlesource.com/c/5577744.

This implementation allows toggling the entire new-auth-stack with
the git configuration:

    [depot-tools]
        useNewAuthStack = 1

Additionally, you can set:

    [depot-tools]
        newAuthSkipSSO = 1

To intentionally skip SSOAuthenticator for now while doing local
evaluation of these auth methods.

This CL was uploaded without gitcookies using the new luci-auth
Authenticator.

Subsequent CLs will adjust creds-check and EnsureAuthenticated to
work correctly with the new auth stack.

R=ayatane@google.com

Bug: 336351842, 336652327
Change-Id: I0eb6d82ca106ddd114b74f63d8cda4c5a7b70c86
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/5590324
Reviewed-by: Yiwei Zhang <yiwzhang@google.com>
Reviewed-by: Scott Lee <ddoman@chromium.org>
Commit-Queue: Allen Li <ayatane@chromium.org>
This commit is contained in:
Robert Iannucci
2024-06-11 23:03:31 +00:00
committed by LUCI CQ
parent 165fdee7e6
commit f871d80a7e
2 changed files with 44 additions and 21 deletions

View File

@@ -107,7 +107,7 @@ class Authenticator(object):
return self._access_token
# Nope, still expired. Needs user interaction.
logging.error('Failed to create access token')
logging.debug('Failed to create access token')
raise LoginRequiredError(self._scopes)
def get_id_token(self):
@@ -127,7 +127,7 @@ class Authenticator(object):
return self._id_token
# Nope, still expired. Needs user interaction.
logging.error('Failed to create id token')
logging.debug('Failed to create id token')
raise LoginRequiredError()
def authorize(self, http, use_id_token=False):