I define a var with user info like this: (ns kiosks-clojure.fake-data-for-development (:require [cemerick.friend :as friend] (cemerick.friend [workflows :as workflows] [credentials :as creds]))) (def fake-data { :users {:root {:username "la...@wonderful.com" :password (creds/hash-bcrypt "admin_password") :roles #{::admin} :created_at "2013-01-08 14:00:00" :telephone-numbers [{:country "USA" :number "434 825 7694"} {:country "USA" :number "732 364 3640"}]} :jane {:username "j...@wonderful.com" :password (creds/hash-bcrypt "user_password") :roles #{::user} :created_at "2013-01-10 16:40:34" :telephone-numbers []}} })
Then in my core namespace, I add this to an atom: (def interactions (atom fd/fake-data)) And then later I fetch this and add this to the authentication of friend: (def app (-> app-routes (friend/authenticate {:credential-fn (partial creds/bcrypt- credential-fn (:users @interactions)) :workflows [(workflows/interactive- form)]}) (wrap-resource "public") (wrap-session {:cookie-name "discovery-session" :cookie-attrs {:max-age 10000 }}) (wrap-cookies) (wrap-params))) Any thoughts about where I should try to debug this? On Jan 16, 5:47 am, Chas Emerick <c...@cemerick.com> wrote: > On Jan 16, 2013, at 1:45 AM, larry google groups wrote: > > > > > > > > > > > For anyone else who might make the same mistake I did, I changed this: > > > (GET "/admin" request (friend/authorize #{::admin} (admin > > request))) > > > to this: > > > (GET "/admin" request (friend/authorize #{::admin} {} (admin > > request))) > > > adding an empty map before the string that is my actual HTML page. > > That resolved the error in the stack trace. > > > However, my login still fails. I copy and paste both the username and > > password, very carefully, into the login form, and hit submit, only to > > get redirected to: > > >http://localhost:30000/login?&login_failed=Y&username= > > > I have not idea why this fails. I thought I had followed the > > documentation carefully, but I suppose there is always something that > > I miss. > > Are you using the keyword-params middleware? It's not in the code you > initially provided, and you don't mention adding it after seeing the note > about it being required. If you are submitting a value for the `username` > parameter to /login, but the failure redirect does not echo that username, > then a lack of keyword-params is indicated. > > - Chas -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en