Method: Saml::Artifact#initialize

Defined in:
lib/saml/artifact.rb

#initialize(artifact = nil, endpoint_index = ENDPOINT_INDEX) ⇒ Artifact

Returns a new instance of Artifact.



13
14
15
16
17
18
19
20
21
22
23
# File 'lib/saml/artifact.rb', line 13

def initialize(artifact = nil, endpoint_index = ENDPOINT_INDEX)
  if artifact
    @artifact = artifact
  else
    source_id       = ::Digest::SHA1.digest(Saml.current_provider.entity_id.to_s)
    message_handle  = ::SecureRandom.random_bytes(20)
    @type_code      = TYPE_CODE
    @endpoint_index = endpoint_index.is_a?(Numeric) ? [endpoint_index].pack("n") : endpoint_index
    @artifact       = Saml::Encoding.encode_64 [@type_code, @endpoint_index, source_id, message_handle].join
  end
end