This version of ruby-jwt requires specification of the algorithm (see
jwt/ruby-jwt#184) for more information.
I've created a PR on signet to. That has to be merged before ruby-jwt
2.0 can be really used (see https://github.com/google/signet/pull/93).
Tested locally against ruby-jwt 2.0 and 1.5.6.
also:
* updated rubocop and applied styling
* made small test refactorings (using the expect block notation)
* made a small refactor to remove an unnecessary ``return credentials``
* bumped the version
The environment variables in the 'fails if env vars are set' test
were not actually being set because they used a nonexistent hash key
(which has the effect of unsetting the environment variable).
- 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.
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.
- if the ServiceAccountCredentials#apply is called when the scope is not set,
authentication with the equivalent ServiceAccountJwtHeaderCredentials instance
is attempted.
- 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
- 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.