Skip to content

Commit 16d3066

Browse files
committed
allow passing regexp for audience verification
1 parent 9cb2207 commit 16d3066

File tree

2 files changed

+14
-1
lines changed

2 files changed

+14
-1
lines changed

lib/samlr/condition.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,8 @@ def not_on_or_after_satisfied?
3535

3636
def audience_satisfied?
3737
audience.nil? || options[:audience].nil? ||
38-
audience == options[:audience]
38+
audience == options[:audience] ||
39+
(options[:audience].is_a?(Regexp) && audience =~ options[:audience])
3940
end
4041

4142
private

test/unit/test_condition.rb

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,18 @@ def condition(before, after)
5151
end
5252
end
5353
end
54+
55+
describe "using a regex" do
56+
before do
57+
response.options[:audience] = /example\.(org|com)/
58+
end
59+
60+
it "does not raise an exception" do
61+
Time.stub(:now, Time.at(1344379365)) do
62+
assert subject.verify!
63+
end
64+
end
65+
end
5466
end
5567

5668
describe "when the lower time has not been met" do

0 commit comments

Comments
 (0)