-1.007
- - Fix warning when used with self_check => 1
- - Added respository info to META.yml
+1.007 2008-11-19
+ - Add test for query strings in digest auth as digest header is built using
+ the full URI (t0m)
+ - Fix for this (Peter Corlett)
+ - Fix warning when used with self_check => 1 (t0m)
+ - Added respository info to META.yml (t0m)
1.006 2008-10-06
- Added username_field configuration option. I need this to play
__PACKAGE__->mk_accessors(qw/_config realm/);
}
-our $VERSION = "1.006";
+our $VERSION = "1.007";
sub new {
my ($class, $config, $app, $realm) = @_;
$c->log->debug('Checking authentication parameters.')
if $c->debug;
- my $uri = '/' . $c->request->path;
+ my $uri = $c->request->uri->path_query;
my $algorithm = $res{algorithm} || 'MD5';
my $nonce_count = '0x' . $res{nc};
Updated to current name space and currently maintained
by: Tomas Doran C<bobtfish@bobtfish.net>.
-Original module by:
+Original module by:
=over
=back
+=head1 CONTRIBUTORS
+
+Patches contributed by:
+
+=over
+
+=item Peter Corlett
+
+=back
+
=head1 SEE ALSO
RFC 2617 (or its successors), L<Catalyst::Plugin::Cache>, L<Catalyst::Plugin::Authentication>
eval { require Cache::FileCache }
or plan skip_all =>
"Cache::FileCache is needed for this test";
- plan tests => 8;
+ plan tests => 12;
}
use Digest::MD5;
use HTTP::Request;
sub do_test {
my $username = shift;
+ my $uri = shift;
my $mech = Test::WWW::Mechanize::Catalyst->new;
$mech->get("http://localhost/moose");
is( $mech->status, 401, "status is 401" );
my $nc = '00000001';
my $method = 'GET';
my $qop = 'auth';
- my $uri = '/moose';
+ $uri ||= '/moose';
my $ctx = Digest::MD5->new;
$ctx->add( join( ':', $username, $realm, $password ) );
my $A1_digest = $ctx->hexdigest;
$response = qq{Digest username="$username", realm="$realm", nonce="$nonce", uri="$uri", qop=$qop, nc=$nc, cnonce="$cnonce", response="$digest", opaque="$opaque"};
}
- my $r = HTTP::Request->new( GET => "http://localhost/moose" );
+ my $r = HTTP::Request->new( GET => "http://localhost" . $uri );
$mech->request($r);
$r->headers->push_header( Authorization => $response );
$mech->request($r);
}
do_test('Mufasa');
-do_test('Mufasa2');
\ No newline at end of file
+do_test('Mufasa2');
+do_test('Mufasa', '/moose?moose_id=1'); # Digest auth includes the full URL path, so need to test query strings