Sha256: 0b32fb85883850bf8ac15d0b70691bbcb78a0d02dac810c6b40703a2224d7819

Contents?: true

Size: 810 Bytes

Versions: 9

Compression:

Stored size: 810 Bytes

Contents

require 'saml2/role'

module SAML2
  class SSO < Role
    def initialize
      super
      @single_logout_services = []
      @name_id_formats = []
    end

    def from_xml(node)
      super
      @single_logout_services = nil
      @name_id_formats = nil
    end

    def single_logout_services
      @single_logout_services ||= load_object_array(xml, 'md:SingleLogoutService', Endpoint)
    end

    def name_id_formats
      @name_id_formats ||= load_string_array(xml, 'md:NameIDFormat')
    end

    protected
    # should be called from inside the role element
    def build(builder)
      super

      single_logout_services.each do |slo|
        slo.build(builder, 'SingleLogoutService')
      end
      name_id_formats.each do |nif|
        builder['md'].NameIDFormat(nif)
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
saml2-2.0.2 lib/saml2/sso.rb
saml2-2.0.1 lib/saml2/sso.rb
saml2-2.0.0 lib/saml2/sso.rb
saml2-1.1.5 lib/saml2/sso.rb
saml2-1.1.4 lib/saml2/sso.rb
saml2-1.1.3 lib/saml2/sso.rb
saml2-1.1.2 lib/saml2/sso.rb
saml2-1.1.1 lib/saml2/sso.rb
saml2-1.1.0 lib/saml2/sso.rb