Clojure/Friend 中的基本 http 身份验证

basic http auth in Clojure/Friend

我正在尝试使用 friend.

在 Clojure 中为 API 进行基本验证

这是登录请求:

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,或者坚持使用 credential-fn 实现的演示=]cemerick.friend.credentials/bcrypt-credential-fn.阅读 bcrypt-credential-fn 的文档 https://github.com/cemerick/friend/blob/master/src/cemerick/friend/credentials.clj,它很长。它需要一个 load-credentials-fn 加载给定用户名字符串的用户,然后检查密码是否匹配。在演示中,load-credentials-fn 是用户原子中的一个映射,但是如果您有一个数据库,您可能希望提供一个不同的 load-credentials-fn 函数来查找数据库,您不想在原子映射中加载用户 table。