diff options
-rw-r--r-- | mumi/web/controller.scm | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/mumi/web/controller.scm b/mumi/web/controller.scm index 483062e..376873c 100644 --- a/mumi/web/controller.scm +++ b/mumi/web/controller.scm @@ -40,11 +40,14 @@ (list functions ...))) (define %session-manager - (let ((key-file (string-append (%config 'key-dir) "signing-key"))) - (if (file-exists? key-file) - (make-session-manager (with-input-from-file key-file read)) - (with-output-to-file key-file - (lambda () (write (base64-encode (generate-signing-key)))))))) + (let ((key-file (string-append (%config 'key-dir) "/signing-key"))) + (unless (file-exists? key-file) + (with-output-to-file key-file + (lambda () (write (base64-encode (generate-signing-key)))))) + (make-session-manager + (with-input-from-file key-file read) + ;; expire session after 30 mins + #:expire-delta '(0 0 30)))) (define (controller request body) (match-lambda |