Skip to content

Commit 23ef364

Browse files
committed
feat: log errors on failed logout
1 parent ca4d806 commit 23ef364

File tree

2 files changed

+3
-2
lines changed

2 files changed

+3
-2
lines changed

Diff for: lib/omniauth/strategies/saml.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ def handle_logout_request(raw_request, settings)
190190
logout_response = OneLogin::RubySaml::SloLogoutresponse.new.create(settings, logout_request_id, nil, RelayState: slo_relay_state)
191191
redirect(logout_response)
192192
else
193-
raise OmniAuth::Strategies::SAML::ValidationError.new("SAML failed to process LogoutRequest")
193+
raise OmniAuth::Strategies::SAML::ValidationError.new("SAML failed to process LogoutRequest (#{logout_request.errors.join(', ')})")
194194
end
195195
end
196196

Diff for: spec/omniauth/strategies/saml_spec.rb

+2-1
Original file line numberDiff line numberDiff line change
@@ -346,12 +346,13 @@ def post_xml(xml = :example_response, opts = {})
346346
context "when request is an invalid logout request" do
347347
before :each do
348348
allow_any_instance_of(OneLogin::RubySaml::SloLogoutrequest).to receive(:is_valid?).and_return(false)
349+
allow_any_instance_of(OneLogin::RubySaml::SloLogoutrequest).to receive(:errors).and_return(['Blank logout request'])
349350
end
350351

351352
# TODO: Maybe this should not raise an exception, but return some 4xx error instead?
352353
it "should raise an exception" do
353354
expect { subject }.
354-
to raise_error(OmniAuth::Strategies::SAML::ValidationError, 'SAML failed to process LogoutRequest')
355+
to raise_error(OmniAuth::Strategies::SAML::ValidationError, 'SAML failed to process LogoutRequest (Blank logout request)')
355356
end
356357
end
357358

0 commit comments

Comments
 (0)