inth-oauth2/examples/google.rs

29 lines
762 B
Rust
Raw Normal View History

2015-12-22 03:53:45 +00:00
extern crate inth_oauth2;
2015-12-24 06:11:14 +00:00
use std::io;
2015-12-26 01:23:48 +00:00
use inth_oauth2::Client;
2015-12-22 03:53:45 +00:00
use inth_oauth2::provider::Google;
fn main() {
let client = Client::<Google>::new(
Default::default(),
"143225766783-ip2d9qv6sdr37276t77luk6f7bhd6bj5.apps.googleusercontent.com",
"3kZ5WomzHFlN2f_XbhkyPd3o",
Some("urn:ietf:wg:oauth:2.0:oob")
);
let auth_uri = client.auth_uri(Some("https://www.googleapis.com/auth/userinfo.email"), None)
.unwrap();
println!("{}", auth_uri);
2015-12-24 06:11:14 +00:00
let mut code = String::new();
io::stdin().read_line(&mut code).unwrap();
let token = client.request_token(code.trim()).unwrap();
println!("{:?}", token);
2015-12-24 19:38:00 +00:00
let token = client.refresh_token(token, None).unwrap();
println!("{:?}", token);
2015-12-22 03:53:45 +00:00
}