class Samlsso::SloLogoutrequest
Attributes
document[R]
options[R]
request[R]
Public Class Methods
new(request, options = {})
click to toggle source
# File lib/samlsso/slo_logoutrequest.rb, line 12 def initialize(request, options = {}) raise ArgumentError.new("Request cannot be nil") if request.nil? @options = options @request = decode_raw_saml(request) @document = REXML::Document.new(@request) end
Public Instance Methods
id()
click to toggle source
# File lib/samlsso/slo_logoutrequest.rb, line 35 def id return @id if @id element = REXML::XPath.first(document, "/p:LogoutRequest", { "p" => PROTOCOL} ) return nil if element.nil? return element.attributes["ID"] end
is_valid?()
click to toggle source
# File lib/samlsso/slo_logoutrequest.rb, line 19 def is_valid? validate end
issuer()
click to toggle source
# File lib/samlsso/slo_logoutrequest.rb, line 43 def issuer @issuer ||= begin node = REXML::XPath.first(document, "/p:LogoutRequest/a:Issuer", { "p" => PROTOCOL, "a" => ASSERTION }) node.nil? ? nil : node.text end end
name_id()
click to toggle source
The value of the user identifier as designated by the initialization request response
# File lib/samlsso/slo_logoutrequest.rb, line 28 def name_id @name_id ||= begin node = REXML::XPath.first(document, "/p:LogoutRequest/a:NameID", { "p" => PROTOCOL, "a" => ASSERTION }) node.nil? ? nil : node.text end end
validate!()
click to toggle source
# File lib/samlsso/slo_logoutrequest.rb, line 23 def validate! validate(false) end
Private Instance Methods
validate(soft = true)
click to toggle source
# File lib/samlsso/slo_logoutrequest.rb, line 52 def validate(soft = true) valid_saml?(document, soft) && validate_request_state(soft) end
validate_request_state(soft = true)
click to toggle source
# File lib/samlsso/slo_logoutrequest.rb, line 56 def validate_request_state(soft = true) if request.empty? return soft ? false : validation_error("Blank request") end true end