Я пытаюсь реализовать аутентификацию друга в своем веб-приложении, но когда я пытаюсь войти, я получаю это */login? & login_failed = Y & username = * ... мой параметр пуст, и я не могу войти в систему, что я делаю неправильно?Друг аутентификации пустой параметр
это мои маршруты ...
(defroutes routes
(GET "/" [] (index))
(GET "/indexMessage" [] (indexMessage))
(GET "/login" req (index))
(POST "/insert-user" {params :params}
(let [firstname (get params "firstname")
lastname (get params "lastname")
email (get params "email")
password (get params "password")
sex (get params "sex")
year (get params "year")
month (get params "month")
day (get params "day")]
(def date (str year"-"month"-"day))
(insert-user firstname lastname email password sex date)))
(route/resources "/public")
(route/not-found "Page not found")
)
я использовал все промежуточное необходимое ...
(def page (handler/site
(friend/authenticate
routes
{:allow-anon? true
:login-uri "/login"
:default-landing-uri "/"
:unauthorized-handler #(-> (html5 [:h2 "You do not have sufficient privileges to access " (:uri %)])
resp/response
(resp/status 401))
:credential-fn #(creds/bcrypt-credential-fn @users %)
:workflows [(workflows/interactive-form)]})
(wrap-keyword-params routes)
(wrap-nested-params routes)
(wrap-params routes)
(wrap-session routes)
))
и это, как я начинаю мой сервер ... пристани
(defn -main []
(run-jetty page {:port 8080 :join? false}))
пользователи - это карта, подобная этой ...
{"username" {:username "username" :password "password"}}
is: Роли должны быть на карте? Возможно, из-за этого?
Это может быть несвязанным, но код для вашего маршрута '/ insert_user' содержит инструкцию' def', что является плохой практикой, поскольку она определяет символ ('date') на уровне вашего пространства имен при первом выполняется и переопределяет его каждый раз, когда вы пытаетесь получить доступ к этому маршруту. Из того, что я вижу, 'date' используется только в локальном контексте, и поэтому вместо этого должна быть другая строка в вашем векторе инициализации' let'. –