Sha256: 0fdebf8c24316a39c7498e3e93014bf98174c52bcbf320a10662462db21b7d0f

Contents?: true

Size: 942 Bytes

Versions: 6

Compression:

Stored size: 942 Bytes

Contents

module Saml
  module Elements
    class AuthnStatement
      include Saml::Base

      tag "AuthnStatement"
      namespace 'saml'

      attribute :authn_instant, Time, tag: "AuthnInstant", on_save: lambda { |val| val.utc.xmlschema }
      attribute :session_index, String, tag: "SessionIndex"

      has_one :subject_locality, Saml::Elements::SubjectLocality, tag: "SubjectLocality"
      has_one :authn_context, Saml::Elements::AuthnContext, tag: "AuthnContext"

      validates :authn_instant, :authn_context, presence: true

      def initialize(*args)
        options = args.extract_options!
        @subject_locality = Saml::Elements::SubjectLocality.new(address: options.delete(:address)) if options[:address]
        @authn_context = Saml::Elements::AuthnContext.new(authn_context_class_ref: options.delete(:authn_context_class_ref)) if options[:authn_context_class_ref]
        super(*(args << options))
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
libsaml-3.9.0 lib/saml/elements/authn_statement.rb
libsaml-3.8.0 lib/saml/elements/authn_statement.rb
libsaml-3.7.0 lib/saml/elements/authn_statement.rb
libsaml-3.6.0 lib/saml/elements/authn_statement.rb
libsaml-3.5.0 lib/saml/elements/authn_statement.rb
libsaml-3.4.0 lib/saml/elements/authn_statement.rb