def checkServiceAccount(users):
checkForExtraneousArguments()
all_scopes_pass = True
all_scopes, jcount = API.getSortedSvcAcctScopesList()
i, count, users = getEntityArgument(users)
for user in users:
i += 1
user = convertUIDtoEmailAddress(user)
entityPerformActionNumItems([Ent.USER, user], jcount, Ent.SCOPE, i, count)
Ind.Increment()
j = 0
for scope in all_scopes:
j += 1
try:
credentials = getSvcAcctCredentials(scope, user)
credentials.refresh(httplib2.Http(disable_ssl_certificate_validation=GC.Values[GC.NO_VERIFY_SSL]))
result = u'PASS'
except httplib2.ServerNotFoundError as e:
systemErrorExit(NETWORK_ERROR_RC, str(e))
except oauth2client.client.HttpAccessTokenRefreshError:
result = u'FAIL'
all_scopes_pass = False
entityActionPerformedMessage([Ent.SCOPE, u'{0:60}'.format(scope)], result, j, jcount)
Ind.Decrement()
service_account = credentials.serialization_data[u'client_id']
_, _, user_domain = splitEmailAddressOrUID(user)
printBlankLine()
if all_scopes_pass:
printLine(Msg.SCOPE_AUTHORIZATION_PASSED.format(service_account))
else:
printErrorMessage(SCOPES_NOT_AUTHORIZED, Msg.SCOPE_AUTHORIZATION_FAILED.format(user_domain, service_account, u',\n'.join(all_scopes)))
评论列表
文章目录