From 21facd23541a7237d99ef7500af139454e1ac2cf Mon Sep 17 00:00:00 2001 From: Curtis McEnroe Date: Tue, 1 Dec 2015 19:10:33 -0500 Subject: [PATCH] Add imgur support --- examples/imgur.rs | 24 ++++++++++++++++++++++++ src/client.rs | 6 ++++++ src/lib.rs | 8 ++++++++ 3 files changed, 38 insertions(+) create mode 100644 examples/imgur.rs diff --git a/examples/imgur.rs b/examples/imgur.rs new file mode 100644 index 0000000..82093db --- /dev/null +++ b/examples/imgur.rs @@ -0,0 +1,24 @@ +extern crate inth_oauth2; + +use std::io; +use inth_oauth2::Client; + +fn main() { + let client = Client::imgur( + Default::default(), + "505c8ca804230e0", + "c898d8cf28404102752b2119a3a1c6aab49899c8", + Some("https://cmcenroe.me/oauth2-paste/") + ); + + let auth_uri = client.auth_uri(None, None).unwrap(); + + println!("{}", auth_uri); + + let mut code = String::new(); + io::stdin().read_line(&mut code).unwrap(); + + let token_pair = client.request_token(code.trim()).unwrap(); + + println!("{:?}", token_pair); +} diff --git a/src/client.rs b/src/client.rs index 6e6e0d9..d991b22 100644 --- a/src/client.rs +++ b/src/client.rs @@ -135,6 +135,12 @@ impl Client { github => ( "https://github.com/login/oauth/authorize", "https://github.com/login/oauth/access_token" + ), + + #[doc = "Creates an Imgur OAuth 2.0 client.\n\n See [OAuth 2.0, Imgur](https://api.imgur.com/oauth2)."] + imgur => ( + "https://api.imgur.com/oauth2/authorize", + "https://api.imgur.com/oauth2/token" ) } } diff --git a/src/lib.rs b/src/lib.rs index 333999c..1048c8f 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -35,6 +35,14 @@ //! let auth = OAuth2::github(Default::default(), "CLIENT_ID", "CLIENT_SECRET", None); //! ``` //! +//! ### Imgur +//! +//! ``` +//! use inth_oauth2::Client as OAuth2; +//! +//! let auth = OAuth2::imgur(Default::default(), "CLIENT_ID", "CLIENT_SECRET", None); +//! ``` +//! //! ### Other //! //! An authorization URI and a token URI are required.