如何使用 oauth 1.0 签署访问令牌请求
How do I sign access token request withings oauth 1.0
我目前正致力于通过网络连接 Withings api,并且已经能够自动获取令牌密码并从 auth 内的回调函数中获取 userId,但是在尝试实施第 3 步时(生成令牌) 我总是得到签名错误。这是基本逻辑,请尽可能提供帮助。
nonce = getNonce(32);
date = Math.round((new Date()).getTime() / 1000.0);
var requestSig = oauthSign.hmacsign(
'GET',
'https://oauth.withings.com/account/access_token',
{oauth_consumer_key: <myconsumerkey>,
oauth_nonce: nonce,
oauth_signature_method: 'HMAC-SHA1',
oauth_timestamp: date.toString(),
oauth_token: oauth_token,
oauth_version: '1.0'
}, newSecret);
var hey = encodeURIComponent(requestSig);
var permanentTokensLink = "https://oauth.withings.com/account/access_token?oauth_consumer_key=<myconsumerkey>&oauth_nonce="+nonce+"&oauth_signature="+hey+"&oauth_signature_method=HMAC-SHA1&oauth_timestamp="+date+"&oauth_token="+oauth_token+"&oauth_version=1.0";
return {link:permanentTokensLink, newSecret: newSecret, tokensecret: oauth_token_secret, dataObj: dataObj, token: oauth_token};
newSecrect 是一个 consumersercret&tokensecret,permanentTokensLink 是我应该可以单击以获取访问密钥和秘密的地方。为什么这不起作用?
我在签名参数和我正在创建的 link 中缺少一个 oauth 验证器,秘密应该被分成两部分(消费者秘密,令牌秘密)以供使用通过 npm 包 hmacsign 正确。
我目前正致力于通过网络连接 Withings api,并且已经能够自动获取令牌密码并从 auth 内的回调函数中获取 userId,但是在尝试实施第 3 步时(生成令牌) 我总是得到签名错误。这是基本逻辑,请尽可能提供帮助。
nonce = getNonce(32);
date = Math.round((new Date()).getTime() / 1000.0);
var requestSig = oauthSign.hmacsign(
'GET',
'https://oauth.withings.com/account/access_token',
{oauth_consumer_key: <myconsumerkey>,
oauth_nonce: nonce,
oauth_signature_method: 'HMAC-SHA1',
oauth_timestamp: date.toString(),
oauth_token: oauth_token,
oauth_version: '1.0'
}, newSecret);
var hey = encodeURIComponent(requestSig);
var permanentTokensLink = "https://oauth.withings.com/account/access_token?oauth_consumer_key=<myconsumerkey>&oauth_nonce="+nonce+"&oauth_signature="+hey+"&oauth_signature_method=HMAC-SHA1&oauth_timestamp="+date+"&oauth_token="+oauth_token+"&oauth_version=1.0";
return {link:permanentTokensLink, newSecret: newSecret, tokensecret: oauth_token_secret, dataObj: dataObj, token: oauth_token};
newSecrect 是一个 consumersercret&tokensecret,permanentTokensLink 是我应该可以单击以获取访问密钥和秘密的地方。为什么这不起作用?
我在签名参数和我正在创建的 link 中缺少一个 oauth 验证器,秘密应该被分成两部分(消费者秘密,令牌秘密)以供使用通过 npm 包 hmacsign 正确。