Skip to content

Commit

Permalink
Merge pull request #110 from nov/feature/faraday_v2
Browse files Browse the repository at this point in the history
Feature/faraday v2
  • Loading branch information
nov committed Oct 8, 2022
2 parents 2d40a0c + 0d2d11b commit 705f678
Show file tree
Hide file tree
Showing 6 changed files with 15 additions and 85 deletions.
3 changes: 2 additions & 1 deletion json-jwt.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,8 @@ Gem::Specification.new do |gem|
gem.add_runtime_dependency 'activesupport', '>= 4.2'
gem.add_runtime_dependency 'bindata'
gem.add_runtime_dependency 'aes_key_wrap'
gem.add_runtime_dependency 'httpclient'
gem.add_runtime_dependency 'faraday', '~> 2.0'
gem.add_runtime_dependency 'faraday-follow_redirects'
gem.add_development_dependency 'rake'
gem.add_development_dependency 'simplecov'
gem.add_development_dependency 'webmock'
Expand Down
20 changes: 8 additions & 12 deletions lib/json/jwk/set/fetcher.rb
Original file line number Diff line number Diff line change
Expand Up @@ -36,17 +36,13 @@ def self.debug(&block)
self.debugging = false

def self.http_client
_http_client_ = HTTPClient.new(
agent_name: "JSON::JWK::Set::Fetcher (#{JSON::JWT::VERSION})"
)

# NOTE: httpclient gem seems stopped maintaining root certtificate set, use OS default.
_http_client_.ssl_config.clear_cert_store
_http_client_.ssl_config.cert_store.set_default_paths

_http_client_.request_filter << Debugger::RequestFilter.new if debugging?
http_config.try(:call, _http_client_)
_http_client_
Faraday.new(headers: {user_agent: "JSON::JWK::Set::Fetcher #{VERSION}"}) do |faraday|
faraday.response :raise_error
faraday.response :follow_redirects
faraday.response :logger, JSON::JWK::Set::Fetcher.logger if debugging?
faraday.adapter Faraday.default_adapter
http_config.try(:call, faraday)
end
end
def self.http_config(&block)
@@http_config ||= block
Expand All @@ -70,7 +66,7 @@ def self.fetch(jwks_uri, kid:, auto_detect: true, **options)
jwks = Set.new(
JSON.parse(
cache.fetch(cache_key, options) do
http_client.get_content(jwks_uri)
http_client.get(jwks_uri).body
end
)
)
Expand Down
34 changes: 0 additions & 34 deletions lib/json/jwk/set/fetcher/debugger/request_filter.rb

This file was deleted.

6 changes: 3 additions & 3 deletions lib/json/jwt.rb
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
require 'openssl'
require 'base64'
require 'httpclient'
require 'faraday'
require 'faraday/follow_redirects'
require 'active_support'
require 'active_support/core_ext'
require 'json/jose'
Expand Down Expand Up @@ -137,5 +138,4 @@ def pretty_generate(jwt_string)
require 'json/jwk'
require 'json/jwk/jwkizable'
require 'json/jwk/set'
require 'json/jwk/set/fetcher'
require 'json/jwk/set/fetcher/debugger/request_filter'
require 'json/jwk/set/fetcher'
33 changes: 0 additions & 33 deletions spec/json/jwk/set/fetcher/debugger/request_filter_spec.rb

This file was deleted.

4 changes: 2 additions & 2 deletions spec/json/jwk/set/fetcher_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -46,11 +46,11 @@
context 'with http_config' do
before do
JSON::JWK::Set::Fetcher.http_config do |config|
config.ssl_config.verify_mode = OpenSSL::SSL::VERIFY_NONE
config.ssl.verify = false
end
end
it 'should configure OpenIDConnect, SWD and Rack::OAuth2\'s http_client' do
JSON::JWK::Set::Fetcher.http_client.ssl_config.verify_mode.should == OpenSSL::SSL::VERIFY_NONE
JSON::JWK::Set::Fetcher.http_client.ssl.verify = false
end
end
end
Expand Down

0 comments on commit 705f678

Please sign in to comment.