X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=cgi-auth-flexible.git;a=blobdiff_plain;f=DESIGN;h=3a172c7ced94dcb91e647d9df1e4b2c6ce103f61;hp=247546dfebec94bb2c54581de8e2ece8689baae8;hb=bde070bdfcddb54a716ab7a1d09c648dc7ec7c7f;hpb=e802c503b5877277b1138f212bd8a49871d6b9cb 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)