Skip to content

Commit 85c8322

Browse files
Improve the error message when validating the audience
1 parent 5dcb7bb commit 85c8322

2 files changed

Lines changed: 5 additions & 5 deletions

File tree

lib/onelogin/ruby-saml/response.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -454,7 +454,7 @@ def validate_audience
454454
return true if audiences.empty? || settings.issuer.nil? || settings.issuer.empty?
455455

456456
unless audiences.include? settings.issuer
457-
error_msg = "#{settings.issuer} is not a valid audience for this Response"
457+
error_msg = "#{settings.issuer} is not a valid audience for this Response - Valid audiences: #{audiences.join(',')}"
458458
return append_error(error_msg)
459459
end
460460

test/response_test.rb

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,7 @@ class RubySamlTest < Minitest::Test
204204
settings.issuer = 'invalid'
205205
response_valid_signed.settings = settings
206206
response_valid_signed.soft = false
207-
error_msg = "#{response_valid_signed.settings.issuer} is not a valid audience for this Response"
207+
error_msg = "#{response_valid_signed.settings.issuer} is not a valid audience for this Response - Valid audiences: https://someone.example.com/audience"
208208
assert_raises(OneLogin::RubySaml::ValidationError, error_msg) do
209209
response_valid_signed.is_valid?
210210
end
@@ -368,7 +368,7 @@ class RubySamlTest < Minitest::Test
368368
settings.issuer = 'invalid'
369369
response_valid_signed.settings = settings
370370
response_valid_signed.is_valid?
371-
assert_includes response_valid_signed.errors, "#{response_valid_signed.settings.issuer} is not a valid audience for this Response"
371+
assert_includes response_valid_signed.errors, "#{response_valid_signed.settings.issuer} is not a valid audience for this Response - Valid audiences: https://someone.example.com/audience"
372372
end
373373

374374
it "return false when no ID present in the SAML Response" do
@@ -411,7 +411,7 @@ class RubySamlTest < Minitest::Test
411411
response.settings = settings
412412
response.settings.issuer = 'invalid_audience'
413413
assert !response.send(:validate_audience)
414-
assert_includes response.errors, "#{response.settings.issuer} is not a valid audience for this Response"
414+
assert_includes response.errors, "#{response.settings.issuer} is not a valid audience for this Response - Valid audiences: {audience}"
415415
end
416416
end
417417

@@ -551,7 +551,7 @@ class RubySamlTest < Minitest::Test
551551
response_invalid_audience.settings = settings
552552
response_invalid_audience.settings.issuer = "https://invalid.example.com/audience"
553553
assert !response_invalid_audience.send(:validate_audience)
554-
assert_includes response_invalid_audience.errors, "#{response_invalid_audience.settings.issuer} is not a valid audience for this Response"
554+
assert_includes response_invalid_audience.errors, "#{response_invalid_audience.settings.issuer} is not a valid audience for this Response - Valid audiences: http://invalid.audience.com"
555555
end
556556
end
557557

0 commit comments

Comments
 (0)