lib/saml/elements/entity_descriptor.rb
module Saml
module Elements
class EntityDescriptor
include Saml::Base
include Saml::XMLHelpers
register_namespace 'md', Saml::MD_NAMESPACE
tag 'EntityDescriptor'
namespace 'md'
attribute :_id, String, tag: 'ID'
attribute :name, String, tag: "Name"
attribute :entity_id, String, tag: "entityID"
attribute :valid_until, Time, tag: "validUntil"
attribute :cache_duration, String, tag: "cacheDuration"
has_one :signature, Saml::Elements::Signature
has_one :extensions, Saml::Elements::MDExtensions
has_one :idp_sso_descriptor, Saml::Elements::IDPSSODescriptor
has_one :sp_sso_descriptor, Saml::Elements::SPSSODescriptor
has_one :attribute_authority_descriptor, Saml::Elements::AttributeAuthorityDescriptor
has_one :organization, Saml::Elements::Organization
has_many :contact_persons, Saml::Elements::ContactPerson
validates :entity_id, presence: true
def initialize(*args)
super(*args)
@contact_persons ||= []
@_id ||= Saml.generate_id
end
end
end
end