chiark / gitweb /
wip
[cgi-auth-flexible.git] / cgi-auth-hybrid.pm
index 2e0623d71a7db71b9f7a2504ef1cb87819995841..953db1518c38a3dd3d97a7af0408178cce19afb7 100644 (file)
@@ -353,41 +353,21 @@ CGI::Auth::Hybrid - web authentication optionally using cookies
 
 =head1 USAGE PATTERN FOR SIMPLE APPLICATIONS
 
- if ( form submission is login request ) {
-     check login details, if wrong print error and quit
-     $authreq->record_login(...username...);
- }
- if ( form submission is logout request ) {
-     my $logged_out_user = $authreq->logout();
-     if (!defined $logged_out_user) {
-        print "you are not logged in" error and quit
-     } else {
-        print "goodbye $username you are now logged out" and quit
-     }
- }
- if ( !$authreq->check() ) {
-     display login form, quit
+ $authreq->check_ok() or return;
 
+ blah blah blah
+ $authreq->mutating();
+ blah blah blah
 
 =head1 USAGE PATTERN FOR FANCY APPLICATIONS
 
- if ( form submission is login request ) {
-     check login details, if wrong print error and quit
-     $authreq->record_login(...username...);
- }
- if ( !$authreq->check() ) {
-     display login form, quit
- if ( form submission is logout request ) {
-     die unless $authreq->mutate();
-     my $logged_out_user = $authreq->logout();
-     if (!defined $logged_out_user) {
-        print "you are not logged in" error and quit
-     } else {
-        print "goodbye $username you are now logged out" and quit
+ my $divert_kind = $authreq->check_divert();
+ if ($divert_kind) {
+     if ($divert_kind eq 'LOGGEDOUT') {
+        print "goodbye you are now logged out" and quit
+     } elsif ($divert_kind eq 'NOCOOKIES') {
+        print "you need cookies" and quit
+     ... etc.
      }
  }
 
-
-advantages of cookie
- - user can sort of log out by clearing cookies
- - sophisticated applications can have get-requests