Module: Saml2

Defined in:
lib/saml2.rb,
lib/saml2/assertion.rb,
lib/saml2/type4_artifact.rb,
lib/saml2/artifact_resolver.rb

Defined Under Namespace

Classes: AnomalousResponseIssuerError, ArtifactResolver, Assertion, InvalidAssertionError, NoSuchResolverError, RequestDeniedError, Type4Artifact

Constant Summary collapse

ArtifactResolverRegistry =
Class.new do
  include SamlSp::Logging

  def register(resolver)
    resolvers_table[resolver.source_id] = resolver

    logger.info "saml-sp: #{resolver}' registered"
  end
  
  def lookup_by_source_id(source_id)
    resolvers_table[source_id] || raise(NoSuchResolverError, "No resolver registered for source `#{Base64.encode64(source_id).strip}`")
  end
  
  protected
  
  def resolvers_table
    @resolvers_table ||= {}
  end
end.new

Class Method Summary collapse

Class Method Details

.ArtifactResolver(source_id) ⇒ Object

Returns an artifact resolver that can be used to resolve artifacts from the specified source.

Parameters:

  • source_id (String)

    The id of the source of interest.



162
163
164
# File 'lib/saml2/artifact_resolver.rb', line 162

def self.ArtifactResolver(source_id)
  ArtifactResolverRegistry.lookup_by_source_id(source_id)
end