Module: Saml

Defined in:
lib/saml.rb,
lib/saml/base.rb,
lib/saml/util.rb,
lib/saml/config.rb,
lib/saml/version.rb,
lib/saml/artifact.rb,
lib/saml/encoding.rb,
lib/saml/provider.rb,
lib/saml/response.rb,
lib/saml/assertion.rb,
lib/saml/xml_helpers.rb,
lib/saml/authn_request.rb,
lib/saml/bindings/soap.rb,
lib/saml/logout_request.rb,
lib/saml/elements/status.rb,
lib/saml/logout_response.rb,
lib/saml/artifact_resolve.rb,
lib/saml/elements/name_id.rb,
lib/saml/elements/subject.rb,
lib/saml/artifact_response.rb,
lib/saml/bindings/http_post.rb,
lib/saml/elements/attribute.rb,
lib/saml/elements/signature.rb,
lib/saml/elements/conditions.rb,
lib/saml/elements/status_code.rb,
lib/saml/provider_stores/file.rb,
lib/saml/elements/organization.rb,
lib/saml/bindings/http_artifact.rb,
lib/saml/bindings/http_redirect.rb,
lib/saml/elements/authn_context.rb,
lib/saml/elements/contact_person.rb,
lib/saml/elements/key_descriptor.rb,
lib/saml/elements/authn_statement.rb,
lib/saml/elements/sub_status_code.rb,
lib/saml/elements/subject_locality.rb,
lib/saml/elements/entity_descriptor.rb,
lib/saml/elements/sp_sso_descriptor.rb,
lib/saml/complex_types/endpoint_type.rb,
lib/saml/elements/idp_sso_descriptor.rb,
lib/saml/elements/signature/key_info.rb,
lib/saml/elements/attribute_statement.rb,
lib/saml/elements/entities_descriptor.rb,
lib/saml/elements/signature/reference.rb,
lib/saml/elements/signature/transform.rb,
lib/saml/elements/audience_restriction.rb,
lib/saml/elements/signature/transforms.rb,
lib/saml/elements/subject_confirmation.rb,
lib/saml/elements/signature/signed_info.rb,
lib/saml/elements/key_descriptor/key_info.rb,
lib/saml/elements/requested_authn_context.rb,
lib/saml/elements/signature/digest_method.rb,
lib/saml/complex_types/sso_descriptor_type.rb,
lib/saml/complex_types/status_response_type.rb,
lib/saml/elements/subject_confirmation_data.rb,
lib/saml/complex_types/indexed_endpoint_type.rb,
lib/saml/complex_types/request_abstract_type.rb,
lib/saml/elements/signature/signature_method.rb,
lib/saml/elements/signature/inclusive_namespaces.rb,
lib/saml/elements/key_descriptor/key_info/x509_data.rb,
lib/saml/elements/signature/canonicalization_method.rb

Defined Under Namespace

Modules: Base, Bindings, ClassRefs, ComplexTypes, Config, Elements, Errors, ProtocolBinding, Provider, ProviderStores, SubStatusCodes, TopLevelCodes, XMLHelpers Classes: Artifact, ArtifactResolve, ArtifactResponse, Assertion, AuthnRequest, Encoding, LogoutRequest, LogoutResponse, Response, Util

Constant Summary collapse

MD_NAMESPACE =
'urn:oasis:names:tc:SAML:2.0:metadata'
SAML_NAMESPACE =
'urn:oasis:names:tc:SAML:2.0:assertion'
SAMLP_NAMESPACE =
'urn:oasis:names:tc:SAML:2.0:protocol'
XML_DSIG_NAMESPACE =
'http://www.w3.org/2000/09/xmldsig#'
SAML_VERSION =
'2.0'
VERSION =
"2.0.5"

Class Method Summary collapse

Class Method Details

.generate_idObject



124
125
126
# File 'lib/saml.rb', line 124

def self.generate_id
  "_#{::SecureRandom.hex(20)}"
end

.parse_message(message, type) ⇒ Object



132
133
134
135
136
137
138
139
# File 'lib/saml.rb', line 132

def self.parse_message(message, type)
  if %w(authn_request response logout_request logout_response artifact_resolve artifact_response).include?(type.to_s)
    klass = "Saml::#{type.to_s.camelize}".constantize
    klass.parse(message, single: true)
  else
    nil
  end
end

.provider(entity_id) ⇒ Object



128
129
130
# File 'lib/saml.rb', line 128

def self.provider(entity_id)
  Saml::Config.provider_store.find_by_entity_id(entity_id) || raise(Saml::Errors::InvalidProvider.new)
end

.setup {|Saml::Config| ... } ⇒ Object

Yields:



120
121
122
# File 'lib/saml.rb', line 120

def self.setup
  yield Saml::Config
end