mirror of
https://github.com/OMGeeky/yup-oauth2.git
synced 2026-01-01 09:00:04 +01:00
fix(examples): Update examples to use Authenticator.
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
use futures::prelude::*;
|
||||
use yup_oauth2::{self, GetToken};
|
||||
use yup_oauth2::{self, Authenticator, GetToken};
|
||||
|
||||
use hyper::client::Client;
|
||||
use hyper_tls::HttpsConnector;
|
||||
@@ -15,12 +15,19 @@ fn main() {
|
||||
|
||||
let scopes = &["https://www.googleapis.com/auth/youtube.readonly".to_string()];
|
||||
|
||||
let ad = yup_oauth2::DefaultAuthenticatorDelegate;
|
||||
let mut df = yup_oauth2::DeviceFlow::new::<String>(client, creds, ad, None);
|
||||
let ad = yup_oauth2::DefaultFlowDelegate;
|
||||
let mut df = yup_oauth2::DeviceFlow::new::<String>(client.clone(), creds, ad, None);
|
||||
df.set_wait_duration(Duration::from_secs(120));
|
||||
let mut rt = tokio::runtime::Runtime::new().unwrap();
|
||||
let mut auth = Authenticator::new_disk(
|
||||
client,
|
||||
df,
|
||||
yup_oauth2::DefaultAuthenticatorDelegate,
|
||||
"tokenstorage.json",
|
||||
)
|
||||
.expect("authenticator");
|
||||
|
||||
let fut = df
|
||||
let mut rt = tokio::runtime::Runtime::new().unwrap();
|
||||
let fut = auth
|
||||
.token(scopes.iter())
|
||||
.and_then(|tok| Ok(println!("{:?}", tok)));
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
use futures::prelude::*;
|
||||
use yup_oauth2::GetToken;
|
||||
use yup_oauth2::InstalledFlow;
|
||||
use yup_oauth2::{Authenticator, InstalledFlow};
|
||||
|
||||
use hyper::client::Client;
|
||||
use hyper_tls::HttpsConnector;
|
||||
@@ -10,19 +10,26 @@ use std::path::Path;
|
||||
fn main() {
|
||||
let https = HttpsConnector::new(1).expect("tls");
|
||||
let client = Client::builder().build::<_, hyper::Body>(https);
|
||||
let ad = yup_oauth2::DefaultAuthenticatorDelegate;
|
||||
let ad = yup_oauth2::DefaultFlowDelegate;
|
||||
let secret = yup_oauth2::read_application_secret(Path::new("clientsecret.json"))
|
||||
.expect("clientsecret.json");
|
||||
let mut inf = InstalledFlow::new(
|
||||
client,
|
||||
let inf = InstalledFlow::new(
|
||||
client.clone(),
|
||||
ad,
|
||||
secret,
|
||||
yup_oauth2::InstalledFlowReturnMethod::HTTPRedirect(8081),
|
||||
);
|
||||
let mut auth = Authenticator::new_disk(
|
||||
client,
|
||||
inf,
|
||||
yup_oauth2::DefaultAuthenticatorDelegate,
|
||||
"tokencache.json",
|
||||
)
|
||||
.unwrap();
|
||||
let s = "https://www.googleapis.com/auth/drive.file".to_string();
|
||||
let scopes = vec![s];
|
||||
|
||||
let tok = inf.token(scopes.iter());
|
||||
let tok = auth.token(scopes.iter());
|
||||
let fut = tok.map_err(|e| println!("error: {:?}", e)).and_then(|t| {
|
||||
println!("The token is {:?}", t);
|
||||
Ok(())
|
||||
|
||||
@@ -23,6 +23,13 @@ fn main() {
|
||||
println!("token is: {:?}", tok);
|
||||
Ok(())
|
||||
});
|
||||
let fut2 = sa
|
||||
.token(["https://www.googleapis.com/auth/pubsub"].iter())
|
||||
.and_then(|tok| {
|
||||
println!("cached token is {:?} and should be identical", tok);
|
||||
Ok(())
|
||||
});
|
||||
let all = fut.join(fut2);
|
||||
let mut rt = tokio::runtime::Runtime::new().unwrap();
|
||||
rt.block_on(fut).unwrap()
|
||||
rt.block_on(all).unwrap();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user