Class: OneLogin::RubySaml::IdpMetadataParser
- Inherits:
-
Object
- Object
- OneLogin::RubySaml::IdpMetadataParser
- Includes:
- SamlMetadata::Vocabulary
- Defined in:
- lib/onelogin/ruby-saml/idp_metadata_parser.rb
Overview
Auxiliary class to retrieve and parse the Identity Provider Metadata
Constant Summary
Constants included from SamlMetadata::Vocabulary
SamlMetadata::Vocabulary::DSIG, SamlMetadata::Vocabulary::METADATA, SamlMetadata::Vocabulary::NAME_FORMAT, SamlMetadata::Vocabulary::SAML_ASSERTION
Instance Attribute Summary collapse
-
#document ⇒ Object
readonly
Returns the value of attribute document.
-
#options ⇒ Object
readonly
Returns the value of attribute options.
-
#response ⇒ Object
readonly
Returns the value of attribute response.
Instance Method Summary collapse
-
#parse(idp_metadata, options = {}) ⇒ OneLogin::RubySaml::Settings
Parse the Identity Provider metadata and update the settings with the IdP values.
-
#parse_remote(url, validate_cert = true, options = {}) ⇒ OneLogin::RubySaml::Settings
Parse the Identity Provider metadata and update the settings with the IdP values.
-
#parse_remote_to_array(url, validate_cert = true, options = {}) ⇒ Array<Hash>
Parse all Identity Provider metadata and return the results as Array.
-
#parse_remote_to_hash(url, validate_cert = true, options = {}) ⇒ Hash
Parse the Identity Provider metadata and return the results as Hash.
-
#parse_to_array(idp_metadata, options = {}) ⇒ Array<Hash>
Parse all Identity Provider metadata and return the results as Array.
-
#parse_to_hash(idp_metadata, options = {}) ⇒ Hash
Parse the Identity Provider metadata and return the results as Hash.
Instance Attribute Details
#document ⇒ Object (readonly)
Returns the value of attribute document.
33 34 35 |
# File 'lib/onelogin/ruby-saml/idp_metadata_parser.rb', line 33 def document @document end |
#options ⇒ Object (readonly)
Returns the value of attribute options.
35 36 37 |
# File 'lib/onelogin/ruby-saml/idp_metadata_parser.rb', line 35 def @options end |
#response ⇒ Object (readonly)
Returns the value of attribute response.
34 35 36 |
# File 'lib/onelogin/ruby-saml/idp_metadata_parser.rb', line 34 def response @response end |
Instance Method Details
#parse(idp_metadata, options = {}) ⇒ OneLogin::RubySaml::Settings
Parse the Identity Provider metadata and update the settings with the IdP values
103 104 105 106 107 108 109 110 111 112 113 114 115 |
# File 'lib/onelogin/ruby-saml/idp_metadata_parser.rb', line 103 def parse(, = {}) = parse_to_hash(, ) settings = [:settings] if settings.nil? OneLogin::RubySaml::Settings.new() elsif settings.is_a?(Hash) OneLogin::RubySaml::Settings.new(settings.merge()) else (settings, ) end end |
#parse_remote(url, validate_cert = true, options = {}) ⇒ OneLogin::RubySaml::Settings
Parse the Identity Provider metadata and update the settings with the IdP values
52 53 54 55 |
# File 'lib/onelogin/ruby-saml/idp_metadata_parser.rb', line 52 def parse_remote(url, validate_cert = true, = {}) = (url, validate_cert) parse(, ) end |
#parse_remote_to_array(url, validate_cert = true, options = {}) ⇒ Array<Hash>
Parse all Identity Provider metadata and return the results as Array
87 88 89 90 |
# File 'lib/onelogin/ruby-saml/idp_metadata_parser.rb', line 87 def parse_remote_to_array(url, validate_cert = true, = {}) = (url, validate_cert) parse_to_array(, ) end |
#parse_remote_to_hash(url, validate_cert = true, options = {}) ⇒ Hash
Parse the Identity Provider metadata and return the results as Hash
70 71 72 |
# File 'lib/onelogin/ruby-saml/idp_metadata_parser.rb', line 70 def parse_remote_to_hash(url, validate_cert = true, = {}) parse_remote_to_array(url, validate_cert, )[0] end |
#parse_to_array(idp_metadata, options = {}) ⇒ Array<Hash>
Parse all Identity Provider metadata and return the results as Array
141 142 143 144 145 146 147 148 149 150 151 |
# File 'lib/onelogin/ruby-saml/idp_metadata_parser.rb', line 141 def parse_to_array(, = {}) @document = REXML::Document.new() @options = idpsso_descriptors = IdpMetadata::get_idps(@document, [:entity_id]) if !idpsso_descriptors.any? raise ArgumentError.new("idp_metadata must contain an IDPSSODescriptor element") end return idpsso_descriptors.map{|id| IdpMetadata.new(id, id.parent.attributes["entityID"]).to_hash()} end |
#parse_to_hash(idp_metadata, options = {}) ⇒ Hash
Parse the Identity Provider metadata and return the results as Hash
127 128 129 |
# File 'lib/onelogin/ruby-saml/idp_metadata_parser.rb', line 127 def parse_to_hash(, = {}) parse_to_array(, )[0] end |