如何使用Clojure中的http工具包发送api密钥作为授权



我需要使用Clojure中的http-kit进行API调用,它使用API-Key作为授权。也就是说,在Postman中,您通常可以选择添加api-keyapi-value,也可以选择将其添加到headerquery-params

我知道在basic-auth的情况下,应该采取以下方法:

{:url "<api-url>"
:method :post
:headers {"Content-Type" "application/json"}
:basic-auth [<username> <password>]
:body <body>)}

但类似的变体不适用于api-key版本。到目前为止,我已经尝试过:

{:basic-auth [<api-key> <api-value>]}
{:query-params {<api-key> <api-value>}}
{:query-params {:key <api-key>, :value <api-value>}}
{:headers {"Content-Type" "application/json"
<api-key> <api-value>}
{:api-key [<api-key> <api-value>]}
{:api-key {<api-key> <api-value>}

和其他变体,但它似乎不起作用。

(注意:授权在poster上有效,但我无法在那里测试完整的api调用,因为主体太长太复杂,无法复制,而且授权无法从应用程序中工作。(

如果您在Postman中向不存在的端点提交带有API密钥验证的POST请求,该请求将失败,但您仍然可以使用Console检查请求中尝试的头。我使用了占位符值,请求标头如下所示:

MYAPIKEY: MYAPIVALUE
Content-Type: application/json
User-Agent: PostmanRuntime/7.26.10
Accept: */*
Postman-Token: 0494818d-5401-4baa-8ef7-bfce46c7196e
Host: localhost:5001
Accept-Encoding: gzip, deflate, br
Connection: keep-alive

这让我认为,对于http-kit中的请求,至少需要其中一些头(通常至少需要Content-typeAccept和自定义的API键/值对(。

最新更新