使用clj-http在Clojure中进行基本身份验证

时间:2014-09-11 17:43:34

标签: clojure basic-authentication http-basic-authentication

我们正在使用clj-http进行HTTP基本身份验证。我想发送一个带有此标题的请求:

Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=

我发现的所有例子都说要做like this

(clj-http.client/get "http://my.domain.com" 
                     {:headers {:basic-auth [username password]}})

这似乎发送的请求只包含一个名为basic-auth的标头,其中包含usernamepassword的未编码值。我必须像这样手动生成基本的auth标头:

(clj-http.client/get "http://my.domain.com"
                     {:headers {:Authorization "Basic dXNlcm5hbWU6cGFzc3dvcmQ="}})

当然,这要困难得多,因为我必须正确编码用户名和密码,并在前面加上“基本”字样。 clj-http可以为我做这个吗?

1 个答案:

答案 0 :(得分:4)

:basic-auth键进入请求地图的顶层,而不是:headers下:

(clj-http.client/get "http://my.domain.com" 
                     {:basic-auth [username password]})