Method: Onelogin::Saml::Response#initialize
- Defined in:
- lib/onelogin/saml/response.rb
#initialize(response, settings = nil, as_of: Time.now) ⇒ Response
Returns a new instance of Response.
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/onelogin/saml/response.rb', line 11 def initialize(response, settings=nil, as_of: Time.now) @response = response begin @xml = Base64.decode64(@response) @document = Nokogiri::XML(@xml) @document.extend(XMLSecurity::SignedDocument) rescue # could not parse document, everything is invalid @response = nil return end @issuer = document.at_xpath("/samlp:Response/saml:Issuer", Onelogin::NAMESPACES).content.strip rescue nil @issuer ||= document.at_xpath("/samlp:Response/saml:Assertion/saml:Issuer", Onelogin::NAMESPACES).content.strip rescue nil @status_code = document.at_xpath("/samlp:Response/samlp:Status/samlp:StatusCode", Onelogin::NAMESPACES)["Value"] rescue nil process(settings, as_of: as_of) if settings end |