X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=cgi-auth-flexible.git;a=blobdiff_plain;f=DESIGN;fp=DESIGN;h=3a172c7ced94dcb91e647d9df1e4b2c6ce103f61;hp=247546dfebec94bb2c54581de8e2ece8689baae8;hb=edba190acf5982ec65b3775c27e4a8048abd4b3a;hpb=017d2716636658b54c7b41fe9cc6ef55fc971971 diff --git a/DESIGN b/DESIGN index 247546d..3a172c7 100644 --- a/DESIGN +++ b/DESIGN @@ -54,3 +54,33 @@ does not support persistent cookie, as that needs two db entries etc. two cookies complicated api clearing cookies always logs out + + +---------------------------------------- + +app supplies + + - func to tell whether it's a login form, + defaults to password form field + - func to check login details + - func to tell whether it's a logout form, + defaults to logout action form field list + - func to tell whether it's programmatic + defaults to always false, somewhat poor EH + +we supply + + - thing to call right at the beginning, + tells app to divert to one of + just logged out page + cookies disabled page + stale form login form + login form + "session interrupted" + a redirect + + - version of the above which deals with the request + + - thing which app must call when mutating + (alternatively app must check that method is POST for mutates) + (alternatively.2 every GETs is decreed to produce a login form)