summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormokha <mokha@cisco.com>2018-03-07 15:56:40 -0700
committermokha <mokha@cisco.com>2018-03-07 15:56:40 -0700
commit334b70eeaff5b0f5b742f32eacf952e1677402d7 (patch)
tree750b0ee9ea3d159160a65cf94d141a03839adb36
parent4cec8d741727f8cdf90e6d1e76c23f189a3d2683 (diff)
split to separate files.
-rw-r--r--lib/saml/kit/cli.rb7
-rw-r--r--lib/saml/kit/core_ext/assertion.rb18
-rw-r--r--lib/saml/kit/core_ext/authentication_request.rb12
-rw-r--r--lib/saml/kit/core_ext/document.rb86
-rw-r--r--lib/saml/kit/core_ext/logout_request.rb11
-rw-r--r--lib/saml/kit/core_ext/metadata.rb29
-rw-r--r--lib/saml/kit/core_ext/response.rb11
-rw-r--r--lib/saml/kit/core_ext/signature.rb23
8 files changed, 111 insertions, 86 deletions
diff --git a/lib/saml/kit/cli.rb b/lib/saml/kit/cli.rb
index 09c3f46..0336ad9 100644
--- a/lib/saml/kit/cli.rb
+++ b/lib/saml/kit/cli.rb
@@ -3,7 +3,14 @@ require 'thor'
require 'yaml/store'
require 'uri'
+require 'saml/kit/core_ext/assertion'
+require 'saml/kit/core_ext/authentication_request'
require 'saml/kit/core_ext/document'
+require 'saml/kit/core_ext/document'
+require 'saml/kit/core_ext/logout_request'
+require 'saml/kit/core_ext/metadata'
+require 'saml/kit/core_ext/response'
+require 'saml/kit/core_ext/signature'
require 'saml/kit/cli/certificate_report'
require 'saml/kit/cli/commands'
diff --git a/lib/saml/kit/core_ext/assertion.rb b/lib/saml/kit/core_ext/assertion.rb
new file mode 100644
index 0000000..d02db0a
--- /dev/null
+++ b/lib/saml/kit/core_ext/assertion.rb
@@ -0,0 +1,18 @@
+module Saml
+ module Kit
+ class Assertion
+ def build_table(table = [])
+ table.push(['Assertion Present?', present?])
+ table.push(['Issuer', issuer])
+ table.push(['Name Id', name_id])
+ table.push(['Attributes', attributes.inspect])
+ table.push(['Not Before', started_at])
+ table.push(['Not After', expired_at])
+ table.push(['Audiences', audiences.inspect])
+ table.push(['Encrypted?', encrypted?])
+ table.push(['Decryptable', decryptable?])
+ signature.build_table(table)
+ end
+ end
+ end
+end
diff --git a/lib/saml/kit/core_ext/authentication_request.rb b/lib/saml/kit/core_ext/authentication_request.rb
new file mode 100644
index 0000000..7782378
--- /dev/null
+++ b/lib/saml/kit/core_ext/authentication_request.rb
@@ -0,0 +1,12 @@
+module Saml
+ module Kit
+ class AuthenticationRequest
+ def build_table(table = [])
+ super(table)
+ table.push(['ACS', assertion_consumer_service_url])
+ table.push(['Name Id Format', name_id_format])
+ table
+ end
+ end
+ end
+end
diff --git a/lib/saml/kit/core_ext/document.rb b/lib/saml/kit/core_ext/document.rb
index e051a5d..9b972fd 100644
--- a/lib/saml/kit/core_ext/document.rb
+++ b/lib/saml/kit/core_ext/document.rb
@@ -14,91 +14,5 @@ module Saml
table
end
end
-
- class AuthenticationRequest
- def build_table(table = [])
- super(table)
- table.push(['ACS', assertion_consumer_service_url])
- table.push(['Name Id Format', name_id_format])
- table
- end
- end
-
- class Response
- def build_table(table = [])
- super(table)
- assertion.build_table(table) if assertion.present?
- table
- end
- end
-
- class Assertion
- def build_table(table = [])
- table.push(['Assertion Present?', present?])
- table.push(['Issuer', issuer])
- table.push(['Name Id', name_id])
- table.push(['Attributes', attributes.inspect])
- table.push(['Not Before', started_at])
- table.push(['Not After', expired_at])
- table.push(['Audiences', audiences.inspect])
- table.push(['Encrypted?', encrypted?])
- table.push(['Decryptable', decryptable?])
- signature.build_table(table)
- end
- end
-
- class LogoutRequest
- def build_table(table = [])
- super(table)
- table.push(['Name Id', name_id])
- table
- end
- end
-
- class Metadata
- def build_table(table = [])
- table.push(['Entity Id', entity_id])
- table.push(['Type', name])
- table.push(['Valid', valid?])
- table.push(['Name Id Formats', name_id_formats.inspect])
- table.push(['Organization', organization_name])
- table.push(['Url', organization_url])
- table.push(['Contact', contact_person_company])
- %w[
- SingleSignOnService
- SingleLogoutService
- AssertionConsumerService
- ].each do |type|
- services(type).each do |service|
- table.push([type, [service.location, service.binding]])
- end
- end
- certificates.each do |certificate|
- table.push(['', certificate.x509.to_text])
- end
- signature.build_table(table)
- table
- end
- end
-
- class Signature
- def build_table(table = [])
- return table unless present?
- table.push(['Digest Value', digest_value])
- table.push(['Expected Digest Value', expected_digest_value])
- table.push(['Digest Method', digest_method])
- table.push(['Signature Value', truncate(signature_value)])
- table.push(['Signature Method', signature_method])
- table.push(['Canonicalization Method', canonicalization_method])
- table.push(['', certificate.x509.to_text])
- table
- end
-
- private
-
- def truncate(text, max: 50)
- text.length >= max ? "#{text[0..max]}..." : text
- end
- end
end
end
diff --git a/lib/saml/kit/core_ext/logout_request.rb b/lib/saml/kit/core_ext/logout_request.rb
new file mode 100644
index 0000000..0ab0e74
--- /dev/null
+++ b/lib/saml/kit/core_ext/logout_request.rb
@@ -0,0 +1,11 @@
+module Saml
+ module Kit
+ class LogoutRequest
+ def build_table(table = [])
+ super(table)
+ table.push(['Name Id', name_id])
+ table
+ end
+ end
+ end
+end
diff --git a/lib/saml/kit/core_ext/metadata.rb b/lib/saml/kit/core_ext/metadata.rb
new file mode 100644
index 0000000..0f5a6da
--- /dev/null
+++ b/lib/saml/kit/core_ext/metadata.rb
@@ -0,0 +1,29 @@
+module Saml
+ module Kit
+ class Metadata
+ def build_table(table = [])
+ table.push(['Entity Id', entity_id])
+ table.push(['Type', name])
+ table.push(['Valid', valid?])
+ table.push(['Name Id Formats', name_id_formats.inspect])
+ table.push(['Organization', organization_name])
+ table.push(['Url', organization_url])
+ table.push(['Contact', contact_person_company])
+ %w[
+ SingleSignOnService
+ SingleLogoutService
+ AssertionConsumerService
+ ].each do |type|
+ services(type).each do |service|
+ table.push([type, [service.location, service.binding]])
+ end
+ end
+ certificates.each do |certificate|
+ table.push(['', certificate.x509.to_text])
+ end
+ signature.build_table(table)
+ table
+ end
+ end
+ end
+end
diff --git a/lib/saml/kit/core_ext/response.rb b/lib/saml/kit/core_ext/response.rb
new file mode 100644
index 0000000..3af17ef
--- /dev/null
+++ b/lib/saml/kit/core_ext/response.rb
@@ -0,0 +1,11 @@
+module Saml
+ module Kit
+ class Response
+ def build_table(table = [])
+ super(table)
+ assertion.build_table(table) if assertion.present?
+ table
+ end
+ end
+ end
+end
diff --git a/lib/saml/kit/core_ext/signature.rb b/lib/saml/kit/core_ext/signature.rb
new file mode 100644
index 0000000..96231f5
--- /dev/null
+++ b/lib/saml/kit/core_ext/signature.rb
@@ -0,0 +1,23 @@
+module Saml
+ module Kit
+ class Signature
+ def build_table(table = [])
+ return table unless present?
+ table.push(['Digest Value', digest_value])
+ table.push(['Expected Digest Value', expected_digest_value])
+ table.push(['Digest Method', digest_method])
+ table.push(['Signature Value', truncate(signature_value)])
+ table.push(['Signature Method', signature_method])
+ table.push(['Canonicalization Method', canonicalization_method])
+ table.push(['', certificate.x509.to_text])
+ table
+ end
+
+ private
+
+ def truncate(text, max: 50)
+ text.length >= max ? "#{text[0..max]}..." : text
+ end
+ end
+ end
+end