kdb凡人/神:)
我目前仍坚持在kdb中实施OAuth 1.0协议。任何帮助将不胜感激!
我有一个使用OAuth1.0身份验证的api,但是kdb对此似乎没有直接的含义
第1步。获取请求令牌
我要做的就是向请求令牌端点POST
/oauth/token/request
请求
带有标题(如上所述)
Authorization: OAuth oauth_consumer_key="<api-username>",oauth_signature_method="HMAC-SHA1",oauth_timestamp="<timestamp>",oauth_nonce="<nonce>",oauth_version="1.0",oauth_signature="<signature>"
Content-Type: application/json
我遇到的困难是在kdb中构造oauth_nonce
和oauth_signature
。
据我对https://consumingrestapis.github.io/chapter-4/4.1-oauth-1.0.html#fn:3的这些参数的理解
看来oauth_nonce
只是一个随机字符串,在各个请求中都是唯一的,我实现这一目标的方式是通过base64
编码.z.p
来实现的。这样,由于时间戳是唯一的,因此我将始终获得一个新字符串。
我现在遇到的问题是如何生成oauth_signature
?签名的编码器/解码器是HMAC-SHA1
,我一直在使用q
内部的.Q.sha1
编码器对下面提出的签名字符串进行编码(来自上面的链接)
不确定我是否在这里遗漏了一些东西,或者已经存在针对kdb的OAuth 1.0更好/更简单的实现,而我只是不知道。但是,这里提供的任何帮助将不胜感激。
谢谢!