17 releases (5 stable)
Uses old Rust 2015
2.0.0-beta-2 | Sep 3, 2017 |
---|---|
2.0.0-beta-1 | Jun 25, 2017 |
1.0.7 |
|
1.0.3 |
|
0.0.6 | Feb 21, 2015 |
#422 in Authentication
Used in 2 crates
25KB
506 lines
oauthcli
Yet Another OAuth 1.0 Client Library for Rust
Features
- RFC 5849 implementation (without RSA-SHA1)
- Compatible with Twitter's (f*ckin') implementation
How to Use
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 ......")
Help me
oauthcli
has already reached v1.0.0 although ring
is not stable.
What shoud I do for not breaking the compatibility?
lib.rs
:
Yet Another OAuth 1.0 Client Library for Rust
Examples
Basic sample:
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();
If you use for Twitter, because of Twitter's bug, use finish_for_twitter
method,
and make sure to encode the request body with OAUTH_ENCODE_SET
.
For more detail, see this article (Japanese).
Dependencies
~8–16MB
~308K SLoC