Commit Graph

71 Commits

Author SHA1 Message Date
Todd Derr 86de5fe13b Add support for a system default credentials file.
The path is:
  - windows: %ProgramData%\Google\Auth\application_default_credentials.json
  - other: /etc/google/auth/application_default_credentials.json
2015-06-29 16:35:45 -04:00
David Wilkie 15fbf92199 Fix bug where loading credentials from ENV doesn't set the credentials in the UserRefreshCredentials 2015-06-26 14:31:09 +07:00
Herbert Siojo 5061fb5add Enables reading credentials from env vars.
- ServiceAccountCredentials, ServiceAccountJwtHeaderCredentials
and UserRefreshCredentials initializers now take keyword args
via options hash.

- In `credentials_loader.rb`, refactored env var checking into
private methods

- Updated tests & added new tests.

- Fixed existing test for #from_well_known_path 'fails if
the file is invalid', where `from_env` was called instead of
`from_well_known_path`.

- Fixed rubocop errors I introduced, but two existing ones remain.

- Added entry to changelog.

- Fixed rubocop errors from code containing parallel assignments

- Updated rubocop_todo.yml to ignore parallel assignments and
trailing underscore assignments.
2015-05-21 13:38:19 -07:00
Tim Emiola 133e05cf4a Merge pull request #24 from tbetbetbe/ruby-auth-add-iam-creds
Adds an implementation of IAMCredentials
2015-04-30 14:47:15 -04:00
Tim Emiola fe1c46cc14 Corrects grammar 2015-04-23 11:21:31 -07:00
Tim Emiola 98816f7b67 Adds more robust checking of the status code during compute engine auth.
Currently the implementation does not verify that a 200 response is received
before attempting to parse the JSON response.

This PR updates the behaviour to fail with an authorization error, similar to
how other auth library implementations.
2015-04-23 09:50:11 -07:00
Tim Emiola 1560686f3a Adds an implementation of IAMCredentials 2015-04-22 15:40:56 -07:00
Trung Lê 66ae035cce More refactoring to please rubocop 2015-04-08 11:10:25 +10:00
Tim Emiola c4bde552e6 Promote ServiceAccountCredentials when scope is nil
- if the ServiceAccountCredentials#apply is called when the scope is not set,
  authentication with the equivalent ServiceAccountJwtHeaderCredentials instance
  is attempted.
2015-03-23 21:35:07 -07:00
Tim Emiola 53ec6fce3b Splits the JWTHeader creds into its own class 2015-03-23 20:08:46 -07:00
Tim Emiola e3e33e2c38 Adds an implementation of JWT signing to ServiceAccountCredentials 2015-03-23 20:08:46 -07:00
Tim Emiola 5f4cc99347 updates gem dependencies to the latest version 2015-03-23 16:36:46 -07:00
Tim Emiola bd97c23d9f Make the scope optional 2015-03-17 16:46:55 -07:00
Tim Emiola 8f33ba8f4c Explicitly checks for user auth and fail if auth type is not known 2015-03-09 09:50:18 -07:00
Tim Emiola 4d4bcd46e8 Add support for loading either credentials type as determined by the loaded content 2015-03-06 16:58:57 -08:00
Tim Emiola 3bd8751519 Adds a credential class that supports User Refresh Tokens 2015-03-06 15:46:59 -08:00
Tim Emiola df56f8af33 Refactoring: move the credentials load into its own class 2015-03-06 15:13:40 -08:00
Tim Emiola e097a9cae9 Updates the tests work on ruby-1.9.3 and JRuby 2015-02-25 04:47:12 -08:00
Tim Emiola a5bb601fe3 Adds an implementation of Application Default Credentials
- supports two initial scenarios
  - 2LO with service accounts
  - Compute Engine

- performs all 3 'sniffs' for the service account credentials
  - from environment
  - from a well known file
  - from GCE
2015-02-12 16:59:08 -08:00
Tim Emiola 1492408997 Adds funcs for json key from environment defaults
- adds support for path specified by an ENV var
- adds support for loading from a default path
2015-02-12 16:19:08 -08:00
Tim Emiola 3e60a713c5 Extract the auth library into its own project
- adds no new functionality beyond the initial attempt at providing
  Usable Auth constructors.

- adds enough packaging metadata to be able to export this library as a gem.

- next steps:
  complete usable auth implemntation of Application Default Credentials.
2015-02-11 19:23:34 -08:00