我想在Clojure中使用friend進行API的基本認證。Clojure中的基本http認證/朋友
這裏的登錄請求:
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爲好,但我不知道如何再利用鏈接的例子。以下是我不知道如何更改的部分:
如何將我的捲髮請求中的用戶名/密碼字段替換爲用戶名/密碼字段?我能夠從原始請求中提取它們,但我不知道如何將其傳遞給Friend(我是否需要更改
credential-fn
?)。用來自數據庫的數據替換user atom。我有一個
auth [email password]
返回true或false(從數據庫中提取並使用bcrypt)。我也可以從數據庫中獲取用戶角色。我如何使用數據庫(特別是我使用mongo/monger)而不是用戶原子?
關於替換用戶原子的第二部分在自己的問題中可能會更好。 –
@DanielCompton我已經有了一個從數據庫中獲取數據的函數,所以我唯一的擔心就是關於朋友的猜測。你不同意嗎? – nha
您可能會發現這個小骨架有幫助,我將這位朋友分享給Liberator,我使用了內存中的模擬用戶數據庫。 https://github.com/jaimeagudo/liberator-friend。不要錯過[post](https://sritchie.github.io/2014/01/17/api-authentication-with-liberator-and-friend/):) –