Class: SignIn::Idme::Configuration

Inherits:
Common::Client::Configuration::REST show all
Defined in:
lib/sign_in/idme/configuration.rb

Instance Attribute Summary

Attributes inherited from Common::Client::Configuration::Base

#base_request_headers, #open_timeout, #read_timeout, #request_types, #user_agent

Instance Method Summary collapse

Methods inherited from Common::Client::Configuration::Base

#breakers_error_threshold, #breakers_exception_handler, #breakers_matcher, #breakers_service, #create_new_breakers_service, #request_options, #service_exception

Instance Method Details

#auth_pathObject



45
46
47
# File 'lib/sign_in/idme/configuration.rb', line 45

def auth_path
  'oauth/authorize'
end

#base_pathObject



9
10
11
# File 'lib/sign_in/idme/configuration.rb', line 9

def base_path
  Settings.idme.oauth_url
end

#client_assertion_expiration_secondsObject



65
66
67
# File 'lib/sign_in/idme/configuration.rb', line 65

def client_assertion_expiration_seconds
  1000
end

#client_assertion_typeObject



57
58
59
# File 'lib/sign_in/idme/configuration.rb', line 57

def client_assertion_type
  'urn:ietf:params:oauth:client-assertion-type:jwt-bearer'
end

#client_cert_pathObject



29
30
31
# File 'lib/sign_in/idme/configuration.rb', line 29

def client_cert_path
  Settings.idme.client_cert_path
end

#client_idObject



13
14
15
# File 'lib/sign_in/idme/configuration.rb', line 13

def client_id
  Settings.idme.client_id
end

#client_key_pathObject



25
26
27
# File 'lib/sign_in/idme/configuration.rb', line 25

def client_key_path
  Settings.idme.client_key_path
end

#client_secretObject



17
18
19
# File 'lib/sign_in/idme/configuration.rb', line 17

def client_secret
  Settings.idme.client_secret
end

#connectionObject

Faraday connection object with breakers, snakecase and json response middleware

Returns:

  • Faraday::Connection connection to make http calls



104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
# File 'lib/sign_in/idme/configuration.rb', line 104

def connection
  @connection ||= Faraday.new(
    base_path,
    headers: base_request_headers,
    request: request_options,
    ssl: { client_cert: ssl_cert,
           client_key: ssl_key }
  ) do |conn|
    conn.use :breakers
    conn.use Faraday::Response::RaiseError
    conn.response :snakecase
    conn.response :json, content_type: /\bjson$/
    conn.adapter Faraday.default_adapter
  end
end

#grant_typeObject



61
62
63
# File 'lib/sign_in/idme/configuration.rb', line 61

def grant_type
  'authorization_code'
end

#idme_scopeObject



37
38
39
# File 'lib/sign_in/idme/configuration.rb', line 37

def idme_scope
  Constants::Auth::IDME_LOA3
end

#jwks_cache_expirationObject



97
98
99
# File 'lib/sign_in/idme/configuration.rb', line 97

def jwks_cache_expiration
  30.minutes
end

#jwks_cache_keyObject



93
94
95
# File 'lib/sign_in/idme/configuration.rb', line 93

def jwks_cache_key
  'idme_public_jwks'
end

#jwt_decode_algorithmObject



73
74
75
# File 'lib/sign_in/idme/configuration.rb', line 73

def jwt_decode_algorithm
  'RS256'
end

#log_credentialObject



85
86
87
# File 'lib/sign_in/idme/configuration.rb', line 85

def log_credential
  false
end

#public_jwks_pathObject



41
42
43
# File 'lib/sign_in/idme/configuration.rb', line 41

def public_jwks_path
  'oidc/.well-known/jwks'
end

#redirect_uriObject



21
22
23
# File 'lib/sign_in/idme/configuration.rb', line 21

def redirect_uri
  Settings.idme.redirect_uri
end

#response_typeObject



69
70
71
# File 'lib/sign_in/idme/configuration.rb', line 69

def response_type
  'code'
end

#service_nameObject



33
34
35
# File 'lib/sign_in/idme/configuration.rb', line 33

def service_name
  'idme'
end

#sign_up_operationObject



89
90
91
# File 'lib/sign_in/idme/configuration.rb', line 89

def 
  'signup'
end

#ssl_certObject



81
82
83
# File 'lib/sign_in/idme/configuration.rb', line 81

def ssl_cert
  OpenSSL::X509::Certificate.new(File.read(client_cert_path))
end

#ssl_keyObject



77
78
79
# File 'lib/sign_in/idme/configuration.rb', line 77

def ssl_key
  OpenSSL::PKey::RSA.new(File.read(client_key_path))
end

#token_pathObject



49
50
51
# File 'lib/sign_in/idme/configuration.rb', line 49

def token_path
  'oauth/token'
end

#userinfo_pathObject



53
54
55
# File 'lib/sign_in/idme/configuration.rb', line 53

def userinfo_path
  'api/public/v3/userinfo.json'
end