示例#1
0
 def __init__(self, refresh_token=None):
     self._refresh_token = refresh_token or (
         _TEST_CONFIG['auth_data']['user_account']['refresh_token'])
     self._account = _TEST_CONFIG['auth_data']['user_account']['account']
     self._orig_account = None
     self._project = _TEST_CONFIG['property_overrides'].get('project', None)
     self._credentials = c_store.AcquireFromToken(self._refresh_token)
示例#2
0
def ActivateCredentials(account, refresh_token):
    """Activates credentials for given account with given refresh token."""

    creds = c_store.AcquireFromToken(refresh_token)

    c_store.ActivateCredentials(account, creds)

    return creds
示例#3
0
def ActivateCredentials(account, refresh_token):
    """Activates credentials for given account with given refresh token."""

    use_google_auth = (
        not properties.VALUES.auth.disable_load_google_auth.GetBool())
    creds = c_store.AcquireFromToken(refresh_token,
                                     use_google_auth=use_google_auth)

    c_store.ActivateCredentials(account, creds)

    return creds
示例#4
0
    def __enter__(self):
        self._orig_account = properties.VALUES.core.account.Get()
        self._orig_project = properties.VALUES.core.project.Get()
        self._orig_impersonate_service_account = (
            properties.VALUES.auth.impersonate_service_account.Get())

        user_creds = c_store.AcquireFromToken(self._refresh_token)
        c_store.ActivateCredentials(self._account, user_creds)
        if self._project_override:
            properties.VALUES.core.project.Set(self._project_override)
        properties.VALUES.auth.impersonate_service_account.Set(
            self._service_account_email)

        self._orig_impersonate_provider = c_store.IMPERSONATION_TOKEN_PROVIDER
        c_store.IMPERSONATION_TOKEN_PROVIDER = (
            iamcred_util.ImpersonationAccessTokenProvider())
        return self
示例#5
0
    def Run(self, args):
        """Run the authentication command."""

        token = args.token or console_io.PromptResponse('Refresh token: ')
        if not token:
            raise c_exc.InvalidArgumentException('token', 'No value provided.')

        creds = c_store.AcquireFromToken(token)
        account = args.account

        c_store.Refresh(creds)

        c_store.Store(creds, account)

        properties.PersistProperty(properties.VALUES.core.account, account)

        project = args.project
        if project:
            properties.PersistProperty(properties.VALUES.core.project, project)

        return creds