17个版本 (5个稳定版)
使用旧的Rust 2015
2.0.0-beta-2 | 2017年9月3日 |
---|---|
2.0.0-beta-1 | 2017年6月25日 |
1.0.7 |
|
1.0.3 |
|
0.0.6 | 2015年2月21日 |
#422 在 认证
用于 2 crate
25KB
506 代码行
oauthcli
另一个Rust的OAuth 1.0客户端库
特性
- RFC 5849实现(不含RSA-SHA1)
- 兼容Twitter的(f*ckin')实现
使用方法
extern crate oauthcli;
extern crate url;
let header =
oauthcli::OAuthAuthorizationHeaderBuilder::new(
"POST",
url::Url::parse("https://example").unwrap(),
"Consumer Key",
"Consumer Secret",
oauthcli::SignatureMethod::HmacSha1 // or Plaintext
)
.token("OAuth Token", "OAuth Token Secret")
.request_parameters(vec![("status", "hello")].into_iter())
.finish();
assert_eq!(header.to_string(), "OAuth ......")
帮助我
oauthcli
已达到v1.0.0,尽管 ring
仍不稳定。对于不破坏兼容性,我应该怎么做?
lib.rs
:
另一个Rust的OAuth 1.0客户端库
示例
基本示例
use oauthcli::*;
let url = url::Url::parse("http://example.com/").unwrap();
let header =
OAuthAuthorizationHeaderBuilder::new(
"GET", &url, "consumer", "secret", SignatureMethod::HmacSha1)
.token("token", "secret")
.finish();
如果你用于Twitter,由于Twitter的错误,请使用 finish_for_twitter
方法,并确保使用 OAUTH_ENCODE_SET
编码请求体。更多详情,请参阅这篇文章(日语)。
依赖关系
~8–16MB
~308K SLoC