X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=cgi-auth-flexible.git;a=blobdiff_plain;f=test.cgi;h=d6de39911f4ab47eb69a2ee929fed58703d96ece;hp=635d85ac88a76219591c4f1f9c24ba89d1560efd;hb=878e739dd1caf1258899ec798db08a91de3374c2;hpb=d9d165b69a171e4cb6a996a3bdeb13c753128360 diff --git a/test.cgi b/test.cgi index 635d85a..d6de399 100755 --- a/test.cgi +++ b/test.cgi @@ -2,22 +2,41 @@ use strict; use warnings; -use CGI; +use CGI qw/escapeHTML/;; +use CGI::Auth::Flexible; +use URI; +use Data::Dumper; -my $verifier = CGI::Auth::Hybrid->new_verifier( - assocdb_path => '/u/iwj/work/Ssh-gateway/cgi-auth-hybrid.git/dump', - username_password_ok => sub { my ($c,$r,$u,$p)=@_; return $p eq 'sesame'; }, -); +#use Carp::Always; +$SIG{__DIE__} = sub { Carp::confess(@_) }; + +my $dump = "$ENV{'CAHTEST_HOME'}/test-data"; + +my @verifier_params =( + username_password_error => sub { + my ($c,$r,$u,$p)=@_; + return $p eq 'sesame' ? undef : 'wrong password' + }, + encrypted_only => 0, + promise_check_mutate => 1, + dir => $dump, + srcdump_filter_cwd => 0, + debug => sub { print STDERR "DEBUG ", @_[2..@_-1]; }, + ); + +my $verifier = CGI::Auth::Flexible->new_verifier(@verifier_params); + +END { $verifier->disconnect() if $verifier; } my $q = CGI->new; my $authreq = $verifier->new_request($q); -$authreq->check_ok() or return; +$authreq->check_ok() or exit; my $cookie = $authreq->secret_cookie(); -my $url = url(); -my $hiddenhtml = $authoreq->secret_hidden_html(); +my $url = $q->url(); +my $hiddenhtml = $authreq->secret_hidden_html(); print <

H1

again

+

info

+
+END
+
+my $newurl = $authreq->url_with_query_params($authreq->chain_params());
+my $newurl_esc = escapeHTML($newurl);
+
+my $txt = Data::Dumper->Dump([$authreq->get_username(), $authreq->mutate_ok(),
+                              $q->path_info(),
+                              $authreq->chain_params(),
+                              scalar $q->Vars()],
+                             [qw(username mutate_ok path
+                                 authreq->chain_params() cgi->params())]);
+foreach my $l (split /\n/, $txt) {
+    print escapeHTML($l),"\n";
+}
+
+print <
+$newurl_esc
 
$hiddenhtml + + + +
+
+$hiddenhtml + +
END