gam oauth refresh to force refresh

This commit is contained in:
Jay Lee
2019-05-22 12:42:44 -04:00
parent d8ba15ab98
commit fd4a64f6a7
2 changed files with 10 additions and 2 deletions

View File

@@ -141,6 +141,8 @@ script:
- if [ "$e2e" = true ]; then openssl aes-256-cbc -K $encrypted_ab10ec38326e_key -iv $encrypted_ab10ec38326e_iv -in travis/oauth2service.json.enc -out $gampath/oauth2service.json -d; fi - if [ "$e2e" = true ]; then openssl aes-256-cbc -K $encrypted_ab10ec38326e_key -iv $encrypted_ab10ec38326e_iv -in travis/oauth2service.json.enc -out $gampath/oauth2service.json -d; fi
- if [ "$e2e" = true ]; then cat travis/cfg_template.json | python travis/svars-write.py &> /dev/null; fi - if [ "$e2e" = true ]; then cat travis/cfg_template.json | python travis/svars-write.py &> /dev/null; fi
- if [ "$e2e" = true ]; then $gam info domain; fi - if [ "$e2e" = true ]; then $gam info domain; fi
- if [ "$e2e" = true ]; then $gam oauth info; fi
- if [ "$e2e" = true ]; then $gam oauth refresh; fi
- if [ "$e2e" = true ]; then $gam info user; fi - if [ "$e2e" = true ]; then $gam info user; fi
- if [ "$e2e" = true ]; then export tstamp=$(date +%s%3N); - if [ "$e2e" = true ]; then export tstamp=$(date +%s%3N);
export newbase=travis-test-$jid-$tstamp; export newbase=travis-test-$jid-$tstamp;

View File

@@ -1220,10 +1220,10 @@ def getOauth2TxtStorageCredentials():
GC_Values[GC_DECODED_ID_TOKEN] = oauth_data.get('decoded_id_token', '') GC_Values[GC_DECODED_ID_TOKEN] = oauth_data.get('decoded_id_token', '')
return creds return creds
def getValidOauth2TxtCredentials(): def getValidOauth2TxtCredentials(force_refresh=False):
"""Gets OAuth2 credentials which are guaranteed to be fresh and valid.""" """Gets OAuth2 credentials which are guaranteed to be fresh and valid."""
credentials = getOauth2TxtStorageCredentials() credentials = getOauth2TxtStorageCredentials()
if credentials and credentials.expired: if (credentials and credentials.expired) or force_refresh:
try: try:
credentials.refresh(google_auth_httplib2.Request(httplib2.Http())) credentials.refresh(google_auth_httplib2.Request(httplib2.Http()))
writeCredentials(credentials) writeCredentials(credentials)
@@ -13973,6 +13973,12 @@ def ProcessGAMCommand(args):
OAuthInfo() OAuthInfo()
elif argument in ['delete', 'revoke']: elif argument in ['delete', 'revoke']:
doDeleteOAuth() doDeleteOAuth()
elif argument in ['refresh']:
creds = getValidOauth2TxtCredentials(force_refresh=True)
if not creds:
systemErrorExit(5, 'Credential refresh failed')
else:
print('Credenials refreshed')
else: else:
systemErrorExit(2, '%s is not a valid argument for "gam oauth"' % argument) systemErrorExit(2, '%s is not a valid argument for "gam oauth"' % argument)
sys.exit(0) sys.exit(0)