OAuth 1.0a签名生成器 - 高效且符合规范的解决方案

OAuth 1.0a签名生成器 - 高效且符合规范的解决方案

oauth-signature-jsJavaScript OAuth 1.0a signature generator (RFC 5849) for node and the browser项目地址:https://gitcode.com/gh_mirrors/oa/oauth-signature-js

OAuth 1.0a签名生成器是一个为Node.js和浏览器环境设计的强大工具,严格按照RFC 5843Errata ID 2550以及社区规格的标准实施。

Build Status Bower version NPM version Dependency Status

安装

使用npm安装:

npm install oauth-signature

使用bower安装:

bower install oauth-signature

在你的index.html中添加一个<script>标签:

<script src="/bower_components/oauth-signature/dist/oauth-signature.js"></script>

使用方法

通过调用以下函数来生成OAuth签名:

oauthSignature.generate(httpMethod, url, parameters, consumerSecret, tokenSecret, options)
  • tokenSecret是可选参数
  • options也是可选参数

默认的options参数如下:

var options = {
	encodeSignature: true // 默认会按照RFC 3986编码签名
}

示例

以下是根据参考样本生成签名的一个示例,该参考样本定义于:

var httpMethod = 'GET',
	url = 'http://photos.example.net/photos',
	parameters = {
		... // 示例参数
	},
	consumerSecret = 'kd94hf93k423kf44',
	tokenSecret = 'pfkkdhi9sl3r4s00',
	encodedSignature = oauthSignature.generate(httpMethod, url, parameters, consumerSecret, tokenSecret),
	signature = oauthSignature.generate(httpMethod, url, parameters, consumerSecret, tokenSecret, { encodeSignature: false });

encodedSignature变量将包含经过RFC 3986编码并以BASE64编码的HMAC-SHA1哈希,可用于请求中的查询参数。而signature变量将仅包含未经编码的BASE64 HMAC-SHA1哈希。

调用受保护资源

使用生成的签名填充oauth_signature参数以签署受保护的资源,如RFC所述。

例如,带有查询字符串参数的GET请求:

http://photos.example.net/photos?file=vacation.jpg&size=original&...

优势

该项目具有广泛覆盖OAuth规范所有角落情况的测试用例(包括RFC 5843OAuth.net社区基础规范)。

查看测试文件src/app/signature.tests.js以了解更多详情。

如何运行测试?

  • 在浏览器中打开src/test-runner.html
  • 或者在Node环境中执行npm test

演示实例

您可以访问现场版本的OAuth签名页面http://bettiolo.github.io/oauth-reference-page/进行实验。并且可以利用这个回声OAuth端点:http://echo.lab.madgex.com/来进行实际操作。

维护更新

  • 更新uri-js/js-url: npm run update
  • 更新chai/mocha: 通过npm更新后,也需手动更新test-runner.html
  • 发布新版本:
npm version [major|minor|patch]
git push
git push --tags

总之,这个开源项目提供了一种简洁、高效和标准化的方式来生成OAuth 1.0a签名,对于开发者来说,无论是在Node.js服务器还是前端浏览器应用,都是理想的工具选择。其强大的测试覆盖,使得它成为可靠和安全的API认证方案。立即加入我们的行列,开始享受OAuth签名生成器带来的便利吧!

oauth-signature-jsJavaScript OAuth 1.0a signature generator (RFC 5849) for node and the browser项目地址:https://gitcode.com/gh_mirrors/oa/oauth-signature-js

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

褚知茉Jade

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值