1. 02 May, 2014 1 commit
    • hinoka@chromium.org's avatar
      Remove prompt for default project ID · d5a1ab12
      hinoka@chromium.org authored
      The "What is your project ID" has confused about every user of gsutil that I've
      talked to, and isn't even useful in the context of download_from_google_storage
      because its only good for "mb" on a bucket and "ls" without specifying a bucket,
      neither of which this version of gsutil should ever do.
      
      This CL:
      * Removes the prompt for project ID
      * Removes the 2 second delay which was meant for autolaunching a browser
        * We don't want this behavior anyways because most of our devs have multiple
          browser profiles open and they need to paste the URL into the correct profile.
      * Removes support to autolaunch a broswer.
      * Removes a lot of the extra messages.  The prompt now looks like:
      ===
      $ download_from_google_storage -g
      Please navigate your browser to the following URL:
      https://accounts.google.com/o/oauth2/auth?.....
      
      Enter the authorization code: <code>
      
      Boto config file "/usr/local/google/home/hinoka/.boto.depot_tools" created.
      $ 
      ===
      BUG=351015
      
      Review URL: https://codereview.chromium.org/222973002
      
      git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@267973 0039d316-1c4b-4281-b951-d872f2087c98
      d5a1ab12
  2. 28 Mar, 2014 1 commit
  3. 12 Dec, 2013 1 commit
    • hinoka@chromium.org's avatar
      Adds SSO auth to gsutil · c6a2ee69
      hinoka@chromium.org authored
      Code path:
      1. plugins.sso_auth is imported, which adds the AuthHandler class to the global state.
      2. HasConfiguredCredentials() in gslib/utils.py is called by gsutil, and will return true if "prodaccess" exists on the system, which tells the system that we don't want a no-op auth handler.
      3. When a command is called, all the auth handlers are cycled through and sso_auth.SSOAuth is called, which calls a stubby command to emit a gaiamint'ed oauth2 access token, which is then used as the Authorization Header
      
      if --bypass_prodaccess is passed in, then:
      1. HasConfiguredCredentials() will bypass the check for prodaccess, as if it didn't exist.
      2. plugins.sso_auth does not get imported.
      Which will essentially cause gsutil to behave as if this patch never existed.
      
      So the expected behavior is:
      =.boto file does not exist, prodaccess exists, but unauthenticated=
      Failure: No handler was ready to authenticate. 3 handlers were checked. ['OAuth2Auth', 'HmacAuthV1Handler', 'SSOAuth'] Check your credentials.
      
      =.boto file exists, prodaccess exists, but unauthenticated=
      sso_auth will raise NotReadyToAuthenticate, and the .boto file will be used instead
      
      =.boto file exists, prodaccess exists, authenticated=
      sso_auth will be run _after_ the default gsutil authenticator, which causes the sso_auth to be used over whatever the default authentication is.
      
      bypass_prodaccess is passed in by default to upload_to_google_storage because we expect people who use upload_to_google_storage to not need prodaccess and have their own boto file already.  Also the sso_auth plugin will only request a readonlyi token, which will not work for uploading.
      
      BUG=258152
      
      Review URL: https://codereview.chromium.org/86123002
      
      git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@240266 0039d316-1c4b-4281-b951-d872f2087c98
      c6a2ee69
  4. 18 Nov, 2013 1 commit
  5. 19 Mar, 2013 1 commit