Support ruby-jwt 2.0
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.
This commit is contained in:
parent
c9a1805b69
commit
2e9841e084
|
@ -28,7 +28,7 @@ Gem::Specification.new do |s|
|
||||||
|
|
||||||
s.add_dependency 'faraday', '~> 0.12'
|
s.add_dependency 'faraday', '~> 0.12'
|
||||||
s.add_dependency 'logging', '~> 2.0'
|
s.add_dependency 'logging', '~> 2.0'
|
||||||
s.add_dependency 'jwt', '~> 1.4'
|
s.add_dependency 'jwt', '>= 1.4', '< 3.0'
|
||||||
s.add_dependency 'memoist', '~> 0.12'
|
s.add_dependency 'memoist', '~> 0.12'
|
||||||
s.add_dependency 'multi_json', '~> 1.11'
|
s.add_dependency 'multi_json', '~> 1.11'
|
||||||
s.add_dependency 'os', '~> 0.9'
|
s.add_dependency 'os', '~> 0.9'
|
||||||
|
|
|
@ -54,7 +54,7 @@ shared_examples 'jwt header auth' do
|
||||||
expect(hdr).to_not be_nil
|
expect(hdr).to_not be_nil
|
||||||
expect(hdr.start_with?(auth_prefix)).to be true
|
expect(hdr.start_with?(auth_prefix)).to be true
|
||||||
authorization = hdr[auth_prefix.length..-1]
|
authorization = hdr[auth_prefix.length..-1]
|
||||||
payload, = JWT.decode(authorization, @key.public_key)
|
payload, = JWT.decode(authorization, @key.public_key, true, algorithm: 'RS256')
|
||||||
expect(payload['aud']).to eq(test_uri)
|
expect(payload['aud']).to eq(test_uri)
|
||||||
expect(payload['iss']).to eq(client_email)
|
expect(payload['iss']).to eq(client_email)
|
||||||
end
|
end
|
||||||
|
@ -135,7 +135,8 @@ describe Google::Auth::ServiceAccountCredentials do
|
||||||
blk = proc do |request|
|
blk = proc do |request|
|
||||||
params = Addressable::URI.form_unencode(request.body)
|
params = Addressable::URI.form_unencode(request.body)
|
||||||
_claim, _header = JWT.decode(params.assoc('assertion').last,
|
_claim, _header = JWT.decode(params.assoc('assertion').last,
|
||||||
@key.public_key)
|
@key.public_key, true,
|
||||||
|
algorithm: 'RS256')
|
||||||
end
|
end
|
||||||
stub_request(:post, 'https://www.googleapis.com/oauth2/v4/token')
|
stub_request(:post, 'https://www.googleapis.com/oauth2/v4/token')
|
||||||
.with(body: hash_including(
|
.with(body: hash_including(
|
||||||
|
|
|
@ -57,7 +57,8 @@ describe Signet::OAuth2::Client do
|
||||||
blk = proc do |request|
|
blk = proc do |request|
|
||||||
params = Addressable::URI.form_unencode(request.body)
|
params = Addressable::URI.form_unencode(request.body)
|
||||||
_claim, _header = JWT.decode(params.assoc('assertion').last,
|
_claim, _header = JWT.decode(params.assoc('assertion').last,
|
||||||
@key.public_key)
|
@key.public_key, true,
|
||||||
|
algorithm: 'RS256')
|
||||||
end
|
end
|
||||||
stub_request(:post, 'https://accounts.google.com/o/oauth2/token')
|
stub_request(:post, 'https://accounts.google.com/o/oauth2/token')
|
||||||
.with(body: hash_including(
|
.with(body: hash_including(
|
||||||
|
|
Loading…
Reference in New Issue