Add Client::github constructor
This commit is contained in:
parent
454f8a1f62
commit
8484ee48e6
|
@ -0,0 +1,15 @@
|
|||
extern crate inth_oauth2;
|
||||
|
||||
use inth_oauth2::Client;
|
||||
|
||||
fn main() {
|
||||
let client = Client::github(
|
||||
"01774654cd9a6051e478",
|
||||
"9f14d16d95d605e715ec1a9aecec220d2565fd5c",
|
||||
Some("https://cmcenroe.me/oauth2-paste")
|
||||
);
|
||||
|
||||
let auth_uri = client.auth_uri(Some("user"), None).unwrap();
|
||||
|
||||
println!("{}", auth_uri);
|
||||
}
|
16
src/lib.rs
16
src/lib.rs
|
@ -47,6 +47,22 @@ impl Client {
|
|||
}
|
||||
}
|
||||
|
||||
/// Creates a GitHub OAuth 2.0 client.
|
||||
pub fn github<S: Into<String>>(
|
||||
client_id: S,
|
||||
client_secret: S,
|
||||
redirect_uri: Option<S>
|
||||
) -> Self {
|
||||
Client {
|
||||
auth_uri: String::from("https://github.com/login/oauth/authorize"),
|
||||
token_uri: String::from("https://github.com/login/oauth/access_token"),
|
||||
|
||||
client_id: client_id.into(),
|
||||
client_secret: client_secret.into(),
|
||||
redirect_uri: redirect_uri.map(Into::<String>::into),
|
||||
}
|
||||
}
|
||||
|
||||
/// Constructs an authorization request URI.
|
||||
pub fn auth_uri(&self, scope: Option<&str>, state: Option<&str>) -> ParseResult<String> {
|
||||
let mut uri = try!(Url::parse(&self.auth_uri));
|
||||
|
|
Loading…
Reference in New Issue