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

Reply via email to