module SamlTool

Version of OpenSSL::X509::Certificate that adds methods to simplify the retrieval of data used in SAML responses.

Decodes base64 and unzips content.

Zips content and base64 encodes it.

Used to build SAML content from erb templates.

output = SamlTool::ErbBuilder.build(
  template: '<foo><%= settings %></foo>',
  settings: 'bar'
)
output == '<foo>bar</foo>'

Wraps SAML documents and exposes data via methods

output == '<foo>bar</foo>'
reader = SamlTool::Reader.new(
           output,
           {foo: '//foo/text()'}
         )
reader.foo == 'bar'

Used to construct redirection uris

redirect = Redirect.uri(
  to: 'http://example.com',
  data: {
    foo: 'bar'
  }
)
redirect == "http://example.com?foo=bar"

A version of SamlTool::Reader tailored for handling SAML responses. It includes a valid? method that validates the SAML structure and checks the signature is correct.

Version of OpenSSL::PKey::RSA that adds methods to simplify the retrieval of data used in SAML responses.

Packages up settings so that they can be more easily passed to other objects.

Compares documents with SAML schemas to test if they have a valid structure.

Constants

VERSION

Public Class Methods

SAML(thing, url = nil, encoding = nil, options = SAML::ParseOptions::DEFAULT_SAML, &block) click to toggle source

Parse XML. Convenience method for Nokogiri::XML::Document.parse but defaults to strict mode

# File lib/saml_tool/saml.rb, line 6
def SAML thing, url = nil, encoding = nil, options = SAML::ParseOptions::DEFAULT_SAML, &block
  SAML::Document.parse(thing, url, encoding, options, &block)
end