diff options
| author | mokha <mokha@cisco.com> | 2018-03-07 15:56:40 -0700 |
|---|---|---|
| committer | mokha <mokha@cisco.com> | 2018-03-07 15:56:40 -0700 |
| commit | 334b70eeaff5b0f5b742f32eacf952e1677402d7 (patch) | |
| tree | 750b0ee9ea3d159160a65cf94d141a03839adb36 | |
| parent | 4cec8d741727f8cdf90e6d1e76c23f189a3d2683 (diff) | |
split to separate files.
| -rw-r--r-- | lib/saml/kit/cli.rb | 7 | ||||
| -rw-r--r-- | lib/saml/kit/core_ext/assertion.rb | 18 | ||||
| -rw-r--r-- | lib/saml/kit/core_ext/authentication_request.rb | 12 | ||||
| -rw-r--r-- | lib/saml/kit/core_ext/document.rb | 86 | ||||
| -rw-r--r-- | lib/saml/kit/core_ext/logout_request.rb | 11 | ||||
| -rw-r--r-- | lib/saml/kit/core_ext/metadata.rb | 29 | ||||
| -rw-r--r-- | lib/saml/kit/core_ext/response.rb | 11 | ||||
| -rw-r--r-- | lib/saml/kit/core_ext/signature.rb | 23 |
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 |
