Sha256: b85d1a585700f8571bd6a6538984d09615a920ea48ba1c5c6a38c16b4acacfa2
Contents?: true
Size: 1.16 KB
Versions: 3
Compression:
Stored size: 1.16 KB
Contents
require "xml_security" require "time" module Onelogin::Saml class IdpLogoutRequest attr_accessor :request, :document, :settings, :signature, :sig_alg def initialize(request, signature, sig_alg, settings) raise ArgumentError.new("Response cannot be nil") if request.nil? raise ArgumentError.new("Response cannot be nil") if signature.nil? raise ArgumentError.new("Response cannot be nil") if sig_alg.nil? self.request = request self.signature = signature self.sig_alg = sig_alg self.settings = settings self.document = XMLSecurity::SignedDocument.new(decode_request) if valid_request? end def issuer document.elements["//saml2:Issuer"].text end def name_id document.elements["//saml2:NameID"].text end def destination document.elements["//saml2p:LogoutRequest"].attributes["Destination"] end def id document.elements["//saml2p:LogoutRequest"].attributes["ID"] end private def decode_request XMLSecurity.decode_request(request) end def valid_request? XMLSecurity.validate_request(request, sig_alg, signature, settings) end end end
Version data entries
3 entries across 3 versions & 1 rubygems