diff --git a/Gemfile b/Gemfile index c231053e3a1..18402e2d953 100644 --- a/Gemfile +++ b/Gemfile @@ -69,7 +69,7 @@ gem 'rqrcode' gem 'ruby-progressbar' gem 'ruby-saml' gem 'safe_target_blank', '>= 1.0.2' -gem 'saml_idp', github: '18F/saml_idp', tag: '0.20.0-18f' +gem 'saml_idp', github: '18F/saml_idp', tag: '0.20.2-18f' gem 'scrypt' gem 'simple_form', '>= 5.0.2' gem 'stringex', require: false diff --git a/Gemfile.lock b/Gemfile.lock index fb061c0c3e9..b0f7b83ebdf 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -34,10 +34,10 @@ GIT GIT remote: https://github.com/18F/saml_idp.git - revision: f86b4c5ef4281a53b3f13a1db2c2e5839fdf077d - tag: 0.20.0-18f + revision: dd8643b16c8214f7b791763538180d043af7ef65 + tag: 0.20.2-18f specs: - saml_idp (0.19.3.pre.18f) + saml_idp (0.20.2.pre.18f) activesupport builder faraday diff --git a/app/services/saml_endpoint.rb b/app/services/saml_endpoint.rb index 226d106f4dd..a3feebdc86c 100644 --- a/app/services/saml_endpoint.rb +++ b/app/services/saml_endpoint.rb @@ -37,13 +37,6 @@ def x509_certificate def saml_metadata config = SamlIdp.config.dup config.single_service_post_location += year - if IdentityConfig.store.include_slo_in_saml_metadata - config.single_logout_service_post_location += year - config.remote_logout_service_post_location += year - else - config.single_logout_service_post_location = nil - config.remote_logout_service_post_location = nil - end SamlIdp::MetadataBuilder.new( config, diff --git a/config/application.yml.default b/config/application.yml.default index 437ec7bfd0d..8ef9ccb8436 100644 --- a/config/application.yml.default +++ b/config/application.yml.default @@ -160,7 +160,6 @@ in_person_outage_expected_update_date: 'October 31, 2024' in_person_outage_emailed_by_date: 'November 1, 2024' in_person_send_proofing_notifications_enabled: false in_person_stop_expiring_enrollments: false -include_slo_in_saml_metadata: false invalid_gpo_confirmation_zipcode: '00001' logins_per_ip_track_only_mode: false # LexisNexis ##################################################### diff --git a/lib/identity_config.rb b/lib/identity_config.rb index 7a0eef456e4..593b39811b3 100644 --- a/lib/identity_config.rb +++ b/lib/identity_config.rb @@ -274,7 +274,6 @@ def self.build_store(config_map) config.add(:in_person_send_proofing_notifications_enabled, type: :boolean) config.add(:in_person_state_id_controller_enabled, type: :boolean) config.add(:in_person_stop_expiring_enrollments, type: :boolean) - config.add(:include_slo_in_saml_metadata, type: :boolean) config.add(:invalid_gpo_confirmation_zipcode, type: :string) config.add(:lexisnexis_account_id, type: :string) config.add(:lexisnexis_base_url, type: :string) diff --git a/spec/features/saml/multiple_endpoints_spec.rb b/spec/features/saml/multiple_endpoints_spec.rb index 6d5e92fca62..c85718f1a0c 100644 --- a/spec/features/saml/multiple_endpoints_spec.rb +++ b/spec/features/saml/multiple_endpoints_spec.rb @@ -91,36 +91,5 @@ ['/api/saml/auth', endpoint_suffix].join(''), ) end - - it 'does not include logout urls if configured' do - allow(IdentityConfig.store).to receive(:include_slo_in_saml_metadata). - and_return(false) - document = REXML::Document.new(page.html) - logout_nodes = REXML::XPath.match(document, '//SingleLogoutService') - expect(logout_nodes.count).to be_zero - end - - context 'when configured to include logout endpoints' do - before do - allow(IdentityConfig.store).to receive(:include_slo_in_saml_metadata). - and_return(true) - end - - it 'includes the front-channel logout url' do - visit endpoint_metadata_path - document = REXML::Document.new(page.html) - logout_nodes = REXML::XPath.match(document, '//SingleLogoutService') - expect(logout_nodes.count { |n| n['Location'].match?(%r{/api/saml/logout\d{4}}) }). - to eq(2) - end - - it 'includes the remote logout url' do - visit endpoint_metadata_path - document = REXML::Document.new(page.html) - logout_nodes = REXML::XPath.match(document, '//SingleLogoutService') - expect(logout_nodes.count { |n| n['Location'].match?(%r{/api/saml/remotelogout\d{4}}) }). - to eq(1) - end - end end end diff --git a/spec/services/saml_endpoint_spec.rb b/spec/services/saml_endpoint_spec.rb index 9be00583054..2e15cedaf68 100644 --- a/spec/services/saml_endpoint_spec.rb +++ b/spec/services/saml_endpoint_spec.rb @@ -79,27 +79,5 @@ expect(result.configurator.single_service_post_location).to match(%r{api/saml/auth2024\Z}) end - - it 'does not include the SingLogoutService endpoints when configured' do - allow(IdentityConfig.store).to receive(:include_slo_in_saml_metadata). - and_return(false) - result = subject.saml_metadata - - expect(result.configurator.single_logout_service_post_location).to be_nil - expect(result.configurator.remote_logout_service_post_location).to be_nil - end - - it 'includes the SingLogoutService endpoints when configured' do - allow(IdentityConfig.store).to receive(:include_slo_in_saml_metadata). - and_return(true) - result = subject.saml_metadata - - expect(result.configurator.single_logout_service_post_location).to match( - %r{api/saml/logout2024\Z}, - ) - expect(result.configurator.remote_logout_service_post_location).to match( - %r{api/saml/remotelogout2024\Z}, - ) - end end end