From 55b450f3711dd1f4de412783b9e9217293cec2d2 Mon Sep 17 00:00:00 2001 From: Slava Pestov Date: Mon, 22 Sep 2008 16:09:20 -0500 Subject: [PATCH] Log user in after registration --- basis/furnace/auth/auth.factor | 6 +++++- .../furnace/auth/features/registration/registration.factor | 3 +-- basis/furnace/auth/login/login.factor | 3 +++ 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/basis/furnace/auth/auth.factor b/basis/furnace/auth/auth.factor index 8e18c18df9..1b5c5f9e73 100755 --- a/basis/furnace/auth/auth.factor +++ b/basis/furnace/auth/auth.factor @@ -3,7 +3,7 @@ USING: accessors assocs namespaces kernel sequences sets destructors combinators fry logging io.encodings.utf8 io.encodings.string io.binary random -checksums checksums.sha2 +checksums checksums.sha2 urls html.forms http.server http.server.filters @@ -60,6 +60,10 @@ TUPLE: realm < dispatcher name users checksum secure ; GENERIC: login-required* ( description capabilities realm -- response ) +GENERIC: user-registered ( user realm -- response ) + +M: object user-registered 2drop URL" $realm" ; + GENERIC: init-realm ( realm -- ) GENERIC: logged-in-username ( realm -- username ) diff --git a/basis/furnace/auth/features/registration/registration.factor b/basis/furnace/auth/features/registration/registration.factor index da58e2b2ed..ef8923c98b 100644 --- a/basis/furnace/auth/features/registration/registration.factor +++ b/basis/furnace/auth/features/registration/registration.factor @@ -33,8 +33,7 @@ IN: furnace.auth.features.registration users new-user [ user-exists ] unless* realm get init-user-profile - - URL" $realm" + realm get user-registered ] >>submit ; diff --git a/basis/furnace/auth/login/login.factor b/basis/furnace/auth/login/login.factor index 232e217305..2c98672490 100755 --- a/basis/furnace/auth/login/login.factor +++ b/basis/furnace/auth/login/login.factor @@ -104,6 +104,9 @@ M: login-realm login-required* ( description capabilities login -- response ) URL" $realm/login" ] if ; +M: login-realm user-registered ( user realm -- ) + drop successful-login ; + : ( responder name -- auth ) login-realm new-realm "login" add-responder