Class: SAML2::IdentityProvider
- Defined in:
- lib/saml2/identity_provider.rb
Instance Attribute Summary collapse
- #attribute_profiles ⇒ Array<String>
- #attributes ⇒ Array<Attribute>
- #single_sign_on_services ⇒ Array<Endpoint>
- #want_authn_requests_signed ⇒ Boolean? writeonly
Attributes inherited from Role
#fingerprints, #keys, #private_keys, #supported_protocols
Attributes included from OrganizationAndContacts
Attributes inherited from Base
Instance Method Summary collapse
-
#build(builder) ⇒ void
Serialize this object to XML, as part of a larger document.
-
#from_xml(node) ⇒ void
Parse an XML element into this object.
-
#initialize ⇒ IdentityProvider
constructor
A new instance of IdentityProvider.
- #want_authn_requests_signed? ⇒ Boolean?
Methods inherited from SSO
#name_id_formats, #single_logout_services
Methods inherited from Role
#encryption_keys, #signing_keys
Methods included from Signable
#sign, #signature, #signed?, #signing_key, #valid_signature?, #validate_signature
Methods inherited from Base
#decrypt, from_xml, #inspect, load_object_array, load_string_array, lookup_qname, #to_s, #to_xml
Constructor Details
#initialize ⇒ IdentityProvider
Returns a new instance of IdentityProvider.
12 13 14 15 16 17 18 |
# File 'lib/saml2/identity_provider.rb', line 12 def initialize super @want_authn_requests_signed = nil @single_sign_on_services = [] @attribute_profiles = [] @attributes = [] end |
Instance Attribute Details
#attribute_profiles ⇒ Array<String>
43 44 45 |
# File 'lib/saml2/identity_provider.rb', line 43 def attribute_profiles @attribute_profiles ||= load_string_array(xml, "md:AttributeProfile") end |
#attributes ⇒ Array<Attribute>
48 49 50 |
# File 'lib/saml2/identity_provider.rb', line 48 def attributes @attributes ||= load_object_array(xml, "saml:Attribute", Attribute) end |
#single_sign_on_services ⇒ Array<Endpoint>
38 39 40 |
# File 'lib/saml2/identity_provider.rb', line 38 def single_sign_on_services @single_sign_on_services ||= load_object_array(xml, "md:SingleSignOnService", Endpoint) end |
#want_authn_requests_signed=(value) ⇒ Boolean? (writeonly)
9 10 11 |
# File 'lib/saml2/identity_provider.rb', line 9 def want_authn_requests_signed=(value) @want_authn_requests_signed = value end |
Instance Method Details
#build(builder) ⇒ void
This method returns an undefined value.
Serialize this object to XML, as part of a larger document
53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
# File 'lib/saml2/identity_provider.rb', line 53 def build(builder) builder["md"].IDPSSODescriptor do |idp_sso_descriptor| super(idp_sso_descriptor) unless want_authn_requests_signed?.nil? idp_sso_descriptor.parent["WantAuthnRequestsSigned"] = want_authn_requests_signed? end single_sign_on_services.each do |sso| sso.build(idp_sso_descriptor, "SingleSignOnService") end attribute_profiles.each do |ap| idp_sso_descriptor["md"].AttributeProfile(ap) end attributes.each do |attr| attr.build(idp_sso_descriptor) end end end |
#from_xml(node) ⇒ void
This method returns an undefined value.
Parse an XML element into this object.
21 22 23 24 25 26 27 |
# File 'lib/saml2/identity_provider.rb', line 21 def from_xml(node) super remove_instance_variable(:@want_authn_requests_signed) @single_sign_on_services = nil @attribute_profiles = nil @attributes = nil end |
#want_authn_requests_signed? ⇒ Boolean?
30 31 32 33 34 35 |
# File 'lib/saml2/identity_provider.rb', line 30 def want_authn_requests_signed? unless instance_variable_defined?(:@want_authn_requests_signed) @want_authn_requests_signed = xml["WantAuthnRequestsSigned"] && xml["WantAuthnRequestsSigned"] == "true" end @want_authn_requests_signed end |