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 |
#993 in Authentication
128 downloads per month
Used in 2 crates
25KB
506 lines
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).
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?
Dependencies
~8–19MB
~302K SLoC