Provides authentication facilities for web services.
- Common Lisp 100%
Expand the FiveAM suite from one test to 49 checks, organized into :auth-db-tests, :auth-tests, and :login-tests sub-suites. Coverage added for: - auth-db: hash-password, check-password-p, add-user, authenticate-user, find-user, remove-user, user-exists-p, and user-exists-error - auth: generate-csrftoken, constant-time-string=, make-auth, empty-db-p, auth-form-p (valid, invalid password, invalid CSRF, type error) - login: determine-login-state, build-auth-from-request, generate-login-response normal-login callback To make build-auth-from-request testable without a live HTTP request, add *post-parameter-function* dynamic variable in src/login.lisp that defaults to #'hunchentoot:post-parameter. |
||
|---|---|---|
| src | ||
| tests | ||
| .gitignore | ||
| dev.metalisp.webauth.asd | ||
| LICENSE | ||
| README.org | ||
dev.metalisp.webauth
Provides authentication facilities for web services.
Example usage
(define-survey-handler (login-handler :uri "/" :redirect-url "login" :public t) (fail created-admin logout)
(:get (generate-login-response (determine-login-state)
#'login-form
"/dashboard"
:fail fail
:created-admin created-admin
:logout logout))
(:post (process-login-submission (determine-login-state)
(build-auth-from-request))))