summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mumi/web/controller.scm13
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