Module: OpenIDConnect

Defined in:
lib/openid_connect.rb,
lib/openid_connect/client.rb,
lib/openid_connect/discovery.rb,
lib/openid_connect/exception.rb,
lib/openid_connect/jwtnizable.rb,
lib/openid_connect/access_token.rb,
lib/openid_connect/connect_object.rb,
lib/openid_connect/request_object.rb,
lib/openid_connect/response_object.rb,
lib/openid_connect/client/registrar.rb,
lib/openid_connect/discovery/provider.rb,
lib/openid_connect/debugger/request_filter.rb,
lib/openid_connect/request_object/id_token.rb,
lib/openid_connect/request_object/claimable.rb,
lib/openid_connect/request_object/user_info.rb,
lib/openid_connect/response_object/id_token.rb,
lib/openid_connect/discovery/provider/config.rb,
lib/openid_connect/response_object/user_info.rb,
lib/openid_connect/response_object/user_info/address.rb,
lib/openid_connect/discovery/provider/config/resource.rb,
lib/openid_connect/discovery/provider/config/response.rb

Defined Under Namespace

Modules: Debugger, Discovery, JWTnizable Classes: AccessToken, BadRequest, Client, ConnectObject, Exception, Forbidden, HttpError, RequestObject, ResponseObject, Unauthorized, ValidationFailed

Constant Summary collapse

VERSION =
::File.read(
  ::File.join(::File.dirname(__FILE__), '../VERSION')
).chomp

Class Method Summary collapse

Class Method Details

.debug(&block) ⇒ Object



51
52
53
54
55
56
57
58
59
60
61
62
63
# File 'lib/openid_connect.rb', line 51

def self.debug(&block)
  sub_protocol_originals = @sub_protocols.inject({}) do |sub_protocol_originals, klass|
    sub_protocol_originals.merge!(klass => klass.debugging?)
  end
  original = self.debugging?
  debug!
  yield
ensure
  @sub_protocols.each do |klass|
    klass.debugging = sub_protocol_originals[klass]
  end
  self.debugging = original
end

.debug!Object



45
46
47
48
49
50
# File 'lib/openid_connect.rb', line 45

def self.debug!
  @sub_protocols.each do |klass|
    klass.debug!
  end
  self.debugging = true
end

.debugging=(boolean) ⇒ Object



39
40
41
42
43
44
# File 'lib/openid_connect.rb', line 39

def self.debugging=(boolean)
  @sub_protocols.each do |klass|
    klass.debugging = boolean
  end
  @@debugging = boolean
end

.debugging?Boolean

Returns:

  • (Boolean)


36
37
38
# File 'lib/openid_connect.rb', line 36

def self.debugging?
  @@debugging
end

.http_clientObject



66
67
68
69
70
71
72
73
74
75
76
77
78
# File 'lib/openid_connect.rb', line 66

def self.http_client
  _http_client_ = HTTPClient.new(
    agent_name: "OpenIDConnect (#{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_
end

.http_config(&block) ⇒ Object



79
80
81
82
83
84
# File 'lib/openid_connect.rb', line 79

def self.http_config(&block)
  @sub_protocols.each do |klass|
    klass.http_config(&block) unless klass.http_config
  end
  @@http_config ||= block
end

.loggerObject



22
23
24
# File 'lib/openid_connect.rb', line 22

def self.logger
  @@logger
end

.logger=(logger) ⇒ Object



25
26
27
# File 'lib/openid_connect.rb', line 25

def self.logger=(logger)
  @@logger = logger
end

.validate_discovery_issuerObject



90
91
92
# File 'lib/openid_connect.rb', line 90

def self.validate_discovery_issuer
  @@validate_discovery_issuer
end

.validate_discovery_issuer=(boolean) ⇒ Object



86
87
88
# File 'lib/openid_connect.rb', line 86

def self.validate_discovery_issuer=(boolean)
  @@validate_discovery_issuer = boolean
end