diff options
Diffstat (limited to 'src')
| -rwxr-xr-x | src/site.clj | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/src/site.clj b/src/site.clj index f10f925..996fe4e 100755 --- a/src/site.clj +++ b/src/site.clj @@ -264,6 +264,13 @@ (set-cookie :token "dummy" :expires "Thu, 01-Jan-70 00:00:01 GMT")) +(defn set-login-token + [nick hash] + (set-cookie :token (generate-login-token nick hash) + :expires (gmt-string (new Date + (+ (System/currentTimeMillis) + *login-cookie-duration*))))) + (defn apply-login-info [request user-info] (let [req-cookies (request :cookies) @@ -308,13 +315,13 @@ (let [nick (params :nick) hash (params :hash) db-user (authorize-nick-hash nick hash) - remember-me (params :rememberme)] + remember-me (= (params :rememberme) "yes") + login-cookie (if remember-me + (set-login-token nick hash) + (clear-login-token))] (if db-user [(session-assoc-from-db db-user) - (set-cookie :token (generate-login-token nick hash) - :expires (gmt-string (new Date - (+ (System/currentTimeMillis) - *login-cookie-duration*)))) + login-cookie (resp-success "OK")] (resp-error "BAD_LOGIN")))) |
