Commit 7943293
Changed files (8)
lib/saml/kit/authentication_request.rb
@@ -1,6 +1,7 @@
module Saml
module Kit
class AuthenticationRequest < Document
+ include Requestable
validates_presence_of :content
validates_presence_of :acs_url, if: :login_request?
validate :must_be_request
@@ -9,7 +10,7 @@ module Saml
validate :must_match_xsd
def initialize(xml)
- super(xml, name: "AuthnRequest", query_string_parameter: 'SAMLRequest')
+ super(xml, name: "AuthnRequest")
end
def acs_url
lib/saml/kit/document.rb
@@ -6,10 +6,9 @@ module Saml
include ActiveModel::Validations
include Trustable
- attr_reader :content, :name, :query_string_parameter
+ attr_reader :content, :name
- def initialize(xml, name:, query_string_parameter:)
- @query_string_parameter = query_string_parameter
+ def initialize(xml, name:)
@content = xml
@name = name
@xml_hash = Hash.from_xml(xml) || {}
lib/saml/kit/logout_request.rb
@@ -1,6 +1,7 @@
module Saml
module Kit
class LogoutRequest < Document
+ include Requestable
validates_presence_of :content
validates_presence_of :single_logout_service, if: :logout?
validate :must_be_request
@@ -9,7 +10,7 @@ module Saml
validate :must_match_xsd
def initialize(xml)
- super(xml, name: "LogoutRequest", query_string_parameter: 'SAMLRequest')
+ super(xml, name: "LogoutRequest")
end
def issue_instant
lib/saml/kit/logout_response.rb
@@ -4,7 +4,7 @@ module Saml
include Respondable
def initialize(xml)
- super(xml, name: "LogoutResponse", query_string_parameter: 'SAMLResponse')
+ super(xml, name: "LogoutResponse")
end
def issue_instant
lib/saml/kit/requestable.rb
@@ -0,0 +1,9 @@
+module Saml
+ module Kit
+ module Requestable
+ def query_string_parameter
+ 'SAMLRequest'
+ end
+ end
+ end
+end
lib/saml/kit/respondable.rb
@@ -1,6 +1,10 @@
module Saml
module Kit
module Respondable
+ def query_string_parameter
+ 'SAMLResponse'
+ end
+
def status_code
to_h.fetch(name, {}).fetch('Status', {}).fetch('StatusCode', {}).fetch('Value', nil)
end
lib/saml/kit/response.rb
@@ -19,7 +19,7 @@ module Saml
def initialize(xml, request_id: nil)
@request_id = request_id
- super(xml, name: "Response", query_string_parameter: 'SAMLResponse')
+ super(xml, name: "Response")
end
def name_id
lib/saml/kit.rb
@@ -15,6 +15,7 @@ require "xmldsig"
require "saml/kit/serializable"
require "saml/kit/xsd_validatable"
require "saml/kit/respondable"
+require "saml/kit/requestable"
require "saml/kit/trustable"
require "saml/kit/document"