class SAML2::Conditions::AudienceRestriction

Attributes

audience[W]

Public Class Methods

new(audience = []) click to toggle source

@param audience [Array<String>]

Calls superclass method SAML2::Base::new
# File lib/saml2/conditions.rb, line 97
def initialize(audience = [])
  super()
  @audience = audience
end

Public Instance Methods

audience() click to toggle source

@return [Array<String>] Allowed audiences

# File lib/saml2/conditions.rb, line 109
def audience
  @audience ||= load_string_array(xml, "saml:Audience")
end
build(builder) click to toggle source

(see Base#build)

# File lib/saml2/conditions.rb, line 125
def build(builder)
  builder["saml"].AudienceRestriction do |audience_restriction|
    Array.wrap(audience).each do |single_audience|
      audience_restriction["saml"].Audience(single_audience)
    end
  end
end
from_xml(node) click to toggle source

(see Base#from_xml)

Calls superclass method SAML2::Base::from_xml
# File lib/saml2/conditions.rb, line 103
def from_xml(node)
  super
  @audience = nil
end
validate(audience: nil, ignore_audience_condition: false, **_) click to toggle source

@param audience [String]

# File lib/saml2/conditions.rb, line 114
def validate(audience: nil, ignore_audience_condition: false, **_)
  return [] if ignore_audience_condition

  unless Array.wrap(self.audience).include?(audience)
    return ["audience #{audience} not in allowed list of #{Array.wrap(self.audience).join(", ")}"]
  end

  []
end