            ;; We create an empty session. This is because the POST
            ;; handler requires that a session exists within which it can
            ;; store the identity on a successful login
+           ;; (revisit: the comment above is wrong, the POST handler can
+           ;; create the session)
            (respond-with-new-session! session-store req {} resp)
            resp)))
 

   [hiccup.core :refer (html)]
   [ring.middleware.params :refer (params-request)]
   [ring.middleware.cookies :refer (cookies-response wrap-cookies)]
   [ring.util.response :refer (response redirect)]
   [cylon.user :refer (create-user! verify-email!)]
   [cylon.user.protocols :refer (UserStore)]
   [cylon.totp :as totp]


     })

  (routes [_]
    ["/" {"signup" {:get ::GET-signup-form
                    :post ::POST-signup-form}
          "verify-email" {:get ::verify-user-email}
          }])

  (uri-context [_] ""))

(defn new-signup-with-totp [& {:as opts}]
  (component/using
