【发布时间】:2015-06-03 08:16:47
【问题描述】:
我正在尝试使用 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,但我不确定如何重用链接的示例。以下是我不知道如何更改的部分:
如何使用 curl 请求中的用户/密码字段替换用户名/密码字段?我能够从原始请求中提取它们,但我不知道如何将其传递给 Friend(我需要更改
credential-fn吗?)。将user atom 替换为数据库中的数据。我有一个
auth [email password],它返回真或假(从数据库中获取并使用 bcrypt)。我还可以从数据库中获取用户角色。如何使用数据库(特别是我使用 mongo/monger)而不是用户原子?
【问题讨论】:
-
您关于替换用户原子的第二部分可能会在它自己的问题中更好。
-
@DanielCompton 我已经有一个从数据库中获取数据的函数,所以我唯一关心的是朋友我猜。你不同意吗?
-
你可能会发现我分享的这个小骨架很有帮助,我在 Liberator 上使用了一个内存模拟用户数据库来集成朋友。 github.com/jaimeagudo/liberator-friend。不要错过post :)
-
@JamesSharp 谢谢我看看。
标签: clojure basic-authentication compojure