Я пытаюсь сделать базовый auth для API в Clojure с friend.basic http auth in Clojure/Friend
Вот запрос Логин:
curl -X POST -H "Content-Type: application/x-www-form-urlencoded" -d 'user=myuser%40email.com&pass=super-secret-password' http://localhost:3000/login/
Я использую compojure, как хорошо, но я не знаю, как повторно использовать связанный пример. Вот те части, которые я не знаю, как изменить:
Как заменить имя пользователя/пароль поля с пользователем/пасс поля, как в моем локонов запросе? Я могу извлечь их из необработанного запроса, но я не знаю, как передать его другу (мне нужно изменить
credential-fn
?).Замените user atom на данные из базы данных. У меня есть
auth [email password]
, который возвращает true или false (выборка из базы данных и использование bcrypt). Я также могу получить роль пользователя из базы данных. Как использовать базу данных (в частности, я использую mongo/monger) вместо атома пользователя?
Ваша вторая часть о замене атома пользователя, вероятно, будет лучше в собственном вопросе. –
@ DanielCompton У меня уже есть функция, которая извлекает данные из базы данных, поэтому моя единственная забота о другом, я думаю. Вы не согласны? – nha
Возможно, вам понравился этот маленький скелет, который я поделил, чтобы интегрировать друга в Liberator, где я использовал встроенную базу данных пользователя. https://github.com/jaimeagudo/liberator-friend. Не пропустите [сообщение] (https://sritchie.github.io/2014/01/17/api-authentication-with-liberator-and-friend/) :) –