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 "[email protected]"
: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
3540"}]}
:jane {:username "[email protected]"
: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 <[email protected]> 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 [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en