class OmniAuth::MSAD::Metadata
Public Instance Methods
generate(settings, pretty_print = false)
click to toggle source
Calls superclass method
# File lib/omniauth/msad/metadata.rb, line 6 def generate(settings, pretty_print = false) metadata_signed = settings.security.delete(:metadata_signed) settings.security[:metadata_signed] = false meta_xml = super(settings) meta_doc = XMLSecurity::Document.new(meta_xml) add_tags_to(meta_doc.root, settings.sp_metadata) if settings.sp_metadata sign_document!(meta_doc, settings) if metadata_signed return meta_doc.write("", 1) if pretty_print meta_doc.to_s end
Private Instance Methods
sign_document!(document, settings)
click to toggle source
# File lib/omniauth/msad/metadata.rb, line 30 def sign_document!(document, settings) return unless settings.security[:metadata_signed] return unless settings.private_key return unless settings.certificate # embed signature private_key = settings.get_sp_key document.sign_document( private_key, cert, settings.security[:signature_method], settings.security[:digest_method] ) end