NodeJS - 生成OAuth 1.0a签名

时间:2017-06-02 19:28:14

标签: node.js firebase oauth

是否有标准化的方法为NodeJS中的OAuth 1.0a生成oauth_signature

尝试1(+?)

Intuit's Documentation(我需要签名)中,声明获取OAuth请求令牌需要oauth_signature

  

oauth_signature 您的应用为每个请求生成的唯一字符串。请勿尝试手动生成此值,而是根据您的语言使用多个OAuth community resources中的一个。

那些OAuth community resources为NodeJS列出以下内容:

我查看了每个资源,但似乎每个都是针对OAuth2.0(不是OAuth 1.0a)而且没有明确的方法来生成oauth-signature(尽管希望如此我在这里遗漏了一些东西。)

尝试2

我找到了npm project for generating an oauth_signature,并尝试按照文档的说明实施和测试它:

var httpMethod = 'GET',
    url = 'http://photos.example.net/photos',
    parameters = {
        oauth_consumer_key : 'dpf43f3p2l4k3l03',
        oauth_token : 'nnch734d00sl2jdk',
        oauth_nonce : 'kllo9940pd9333jh',
        oauth_timestamp : '1191242096',
        oauth_signature_method : 'HMAC-SHA1',
        oauth_version : '1.0',
        file : 'vacation.jpg',
        size : 'original'
    },
    consumerSecret = 'kd94hf93k423kf44',
    tokenSecret = 'pfkkdhi9sl3r4s00',
    // generates a RFC 3986 encoded, BASE64 encoded HMAC-SHA1 hash 
    encodedSignature = oauthSignature.generate(httpMethod, url, parameters, consumerSecret, tokenSecret),
    // generates a BASE64 encode HMAC-SHA1 hash 
    signature = oauthSignature.generate(httpMethod, url, parameters, consumerSecret, tokenSecret,
        { encodeSignature: false});

但是,这不起作用,我也注意到package依赖状态为Insecure . According to further digging依赖关系中的安全漏洞,这让我觉得我根本不应该使用它。

任何方向都没有如何为OAuth 1.0a生成oauth_signature将非常感激。提前感谢任何建议。

0 个答案:

没有答案