Class: SamlIdpRails::SamlSpConfig

Inherits:
ApplicationRecord show all
Defined in:
app/models/saml_idp_rails/saml_sp_config.rb

Instance Method Summary collapse

Instance Method Details

#encoded_certificatesObject

SP metadata removes header and footer of the certificate This method adds them back



31
32
33
34
# File 'app/models/saml_idp_rails/saml_sp_config.rb', line 31

def encoded_certificates
  self.signing_certificate = format_with_pem(signing_certificate) if signing_certificate.present? && !pem_formatted?(signing_certificate)
  self.encryption_certificate = format_with_pem(encryption_certificate) if encryption_certificate.present? && !pem_formatted?(encryption_certificate)
end

#parsed_metadataObject



15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'app/models/saml_idp_rails/saml_sp_config.rb', line 15

def 
   = ::SamlIdp::IncomingMetadata.new().to_h
  # TODO: Move this logic to GEM
  [:name_id_formats] = [:name_id_formats].to_a
  if .present?
    assign_attributes(.except(:unspecified_certificate))
    # When SP metadata contains a <KeyDescriptor> that is not specified as signing or encryption,
    # this method assigns the certificate to signing only.
    self.signing_certificate = [:unspecified_certificate] if [:unspecified_certificate].present?
    encoded_certificates
  end
  self
end