Class: Onelogin::Saml::SamlMessage

Inherits:
Object
  • Object
show all
Defined in:
lib/onelogin/ruby-samlnechotech/saml_message.rb

Direct Known Subclasses

SloLogoutrequest, SloLogoutresponse

Constant Summary collapse

ASSERTION =
"urn:oasis:names:tc:SAML:2.0:assertion"
PROTOCOL =
"urn:oasis:names:tc:SAML:2.0:protocol"

Instance Method Summary collapse

Instance Method Details

#valid_saml?(document, soft = true) ⇒ Boolean

Returns:

  • (Boolean)


12
13
14
15
16
17
18
19
20
21
22
# File 'lib/onelogin/ruby-samlnechotech/saml_message.rb', line 12

def valid_saml?(document, soft = true)
  Dir.chdir(File.expand_path(File.join(File.dirname(__FILE__), '..', '..', 'schemas'))) do
    @schema = Nokogiri::XML::Schema(IO.read('saml20protocol_schema.xsd'))
    @xml = Nokogiri::XML(document.to_s)
  end
  if soft
    @schema.validate(@xml).map{ return false }
  else
    @schema.validate(@xml).map{ |error| validation_error("#{error.message}\n\n#{@xml.to_s}") }
  end
end

#validation_error(message) ⇒ Object

Raises:



24
25
26
# File 'lib/onelogin/ruby-samlnechotech/saml_message.rb', line 24

def validation_error(message)
  raise ValidationError.new(message)
end