Commit 436f76d
Changed files (7)
lib
spec
lib/saml/kit/configuration.rb
@@ -8,6 +8,7 @@ module Saml
attr_accessor :signature_method, :digest_method
attr_accessor :signing_certificate_pem, :signing_private_key_pem, :signing_private_key_password
attr_accessor :registry, :session_timeout
+ attr_accessor :logger
def initialize
@signature_method = :SHA256
@@ -16,6 +17,7 @@ module Saml
@signing_certificate_pem, @signing_private_key_pem = SelfSignedCertificate.new(@signing_private_key_password).create
@registry = DefaultRegistry.new
@session_timeout = 3.hours
+ @logger = Logger.new(STDOUT)
end
def stripped_signing_certificate
lib/saml/kit/content.rb
@@ -13,7 +13,8 @@ module Saml
decoded = decode(xml)
begin
inflate(decoded)
- rescue
+ rescue => error
+ Saml::Kit.logger.error(error)
decoded
end
end
lib/saml/kit/fingerprint.rb
@@ -5,7 +5,8 @@ module Saml
def initialize(raw_certificate)
@x509 = OpenSSL::X509::Certificate.new(raw_certificate)
- rescue OpenSSL::X509::CertificateError
+ rescue OpenSSL::X509::CertificateError => error
+ Saml::Kit.logger.warn(error)
@x509 = OpenSSL::X509::Certificate.new(Base64.decode64(raw_certificate))
end
lib/saml/kit/request.rb
@@ -4,7 +4,8 @@ module Saml
def self.deserialize(raw_request)
request = Saml::Kit::Content.decode_raw_saml(raw_request)
AuthenticationRequest.new(request)
- rescue
+ rescue => error
+ Saml::Kit.logger.error(error)
InvalidRequest.new(raw_request)
end
end
lib/saml/kit/response.rb
@@ -184,7 +184,8 @@ module Saml
def audiences
Array(to_h[name]['Assertion']['Conditions']['AudienceRestriction']['Audience'])
- rescue
+ rescue => error
+ Saml::Kit.logger.error(error)
[]
end
@@ -195,7 +196,8 @@ module Saml
def parse_date(value)
DateTime.parse(value)
- rescue
+ rescue => error
+ Saml::Kit.logger.error(error)
Time.at(0).to_datetime
end
@@ -218,7 +220,8 @@ module Saml
def want_assertions_signed
request.provider.want_assertions_signed
- rescue
+ rescue => error
+ Saml::Kit.logger.error(error)
true
end
lib/saml/kit.rb
@@ -6,6 +6,7 @@ require "active_support/core_ext/hash/conversions"
require "active_support/core_ext/numeric/time"
require "active_support/duration"
require "builder"
+require "logger"
require "net/http"
require "nokogiri"
require "securerandom"
@@ -33,12 +34,18 @@ I18n.load_path += Dir[File.expand_path("kit/locales/*.yml", File.dirname(__FILE_
module Saml
module Kit
- def self.configuration
- @config ||= Saml::Kit::Configuration.new
- end
+ class << self
+ def configuration
+ @config ||= Saml::Kit::Configuration.new
+ end
+
+ def configure
+ yield configuration
+ end
- def self.configure
- yield configuration
+ def logger
+ configuration.logger
+ end
end
end
end
spec/spec_helper.rb
@@ -4,6 +4,8 @@ require "active_support/testing/time_helpers"
require "ffaker"
require "webmock/rspec"
+Saml::Kit.configuration.logger.level = :fatal
+
Dir[File.join(Dir.pwd, 'spec/support/**/*.rb')].each { |f| require f }
RSpec.configure do |config|
config.include ActiveSupport::Testing::TimeHelpers