Skip to content

Commit 18c2c52

Browse files
committed
simplify examples a bit
1 parent f4e8c9c commit 18c2c52

File tree

3 files changed

+47
-44
lines changed

3 files changed

+47
-44
lines changed

examples/app_access_token.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ async fn main() -> anyhow::Result<()> {
3333
scopes,
3434
)
3535
.await?;
36+
3637
println!("{:?}", token);
3738
dbg!(token.is_elapsed());
3839
Ok(())

examples/auth_flow.rs

Lines changed: 26 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -5,24 +5,31 @@ use twitch_oauth2::tokens::UserTokenBuilder;
55
async fn main() -> anyhow::Result<()> {
66
let _ = dotenv::dotenv(); // Eat error
77
let mut args = std::env::args().skip(1);
8-
let mut builder = UserTokenBuilder::new(
9-
std::env::var("TWITCH_CLIENT_ID")
10-
.ok()
11-
.or_else(|| args.next())
12-
.map(twitch_oauth2::ClientId::new)
13-
.context("Please set env: TWITCH_CLIENT_ID or pass as first argument")?,
14-
std::env::var("TWITCH_CLIENT_SECRET")
15-
.ok()
16-
.or_else(|| args.next())
17-
.map(twitch_oauth2::ClientSecret::new)
18-
.context("Please set env: TWITCH_CLIENT_SECRET or pass as second argument")?,
19-
std::env::var("TWITCH_REDIRECT_URL")
20-
.ok()
21-
.or_else(|| args.next())
22-
.map(|r| twitch_oauth2::url::Url::parse(&r))
23-
.context("Please set env: TWITCH_REDIRECT_URL or pass as third argument")??,
24-
)
25-
.force_verify(true);
8+
9+
let reqwest = reqwest::Client::builder()
10+
.redirect(reqwest::redirect::Policy::none())
11+
.build()?;
12+
13+
let client_id = std::env::var("TWITCH_CLIENT_ID")
14+
.ok()
15+
.or_else(|| args.next())
16+
.map(twitch_oauth2::ClientId::new)
17+
.context("Please set env: TWITCH_CLIENT_ID or pass as first argument")?;
18+
19+
let client_secret = std::env::var("TWITCH_CLIENT_SECRET")
20+
.ok()
21+
.or_else(|| args.next())
22+
.map(twitch_oauth2::ClientSecret::new)
23+
.context("Please set env: TWITCH_CLIENT_SECRET or pass as second argument")?;
24+
25+
let redirect_url = std::env::var("TWITCH_REDIRECT_URL")
26+
.ok()
27+
.or_else(|| args.next())
28+
.map(|r| twitch_oauth2::url::Url::parse(&r))
29+
.context("Please set env: TWITCH_REDIRECT_URL or pass as third argument")??;
30+
31+
let mut builder =
32+
UserTokenBuilder::new(client_id, client_secret, redirect_url).force_verify(true);
2633

2734
let (url, _) = builder.generate_url();
2835

@@ -38,15 +45,7 @@ async fn main() -> anyhow::Result<()> {
3845

3946
match (map.get("state"), map.get("code")) {
4047
(Some(state), Some(code)) => {
41-
let token = builder
42-
.get_user_token(
43-
&reqwest::Client::builder()
44-
.redirect(reqwest::redirect::Policy::none())
45-
.build()?,
46-
state,
47-
code,
48-
)
49-
.await?;
48+
let token = builder.get_user_token(&reqwest, state, code).await?;
5049
println!("Got token: {:?}", token);
5150
}
5251
_ => match (map.get("error"), map.get("error_description")) {

examples/user_token.rs

Lines changed: 20 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -9,23 +9,26 @@ async fn main() -> anyhow::Result<()> {
99
.redirect(reqwest::redirect::Policy::none())
1010
.build()?;
1111

12-
let token = twitch_oauth2::UserToken::from_existing(
13-
&reqwest,
14-
std::env::var("TWITCH_TOKEN")
15-
.ok()
16-
.or_else(|| args.next())
17-
.map(twitch_oauth2::AccessToken::new)
18-
.expect("Please set env: TWITCH_TOKEN or pass token as first argument"),
19-
std::env::var("TWITCH_REFRESH_TOKEN")
20-
.ok()
21-
.or_else(|| args.next())
22-
.map(twitch_oauth2::RefreshToken::new),
23-
std::env::var("TWITCH_CLIENT_SECRET")
24-
.ok()
25-
.or_else(|| args.next())
26-
.map(twitch_oauth2::ClientSecret::new),
27-
)
28-
.await?;
12+
let user_token = std::env::var("TWITCH_TOKEN")
13+
.ok()
14+
.or_else(|| args.next())
15+
.map(twitch_oauth2::AccessToken::new)
16+
.expect("Please set env: TWITCH_TOKEN or pass token as first argument");
17+
18+
let refresh_token = std::env::var("TWITCH_REFRESH_TOKEN")
19+
.ok()
20+
.or_else(|| args.next())
21+
.map(twitch_oauth2::RefreshToken::new);
22+
23+
let client_secret = std::env::var("TWITCH_CLIENT_SECRET")
24+
.ok()
25+
.or_else(|| args.next())
26+
.map(twitch_oauth2::ClientSecret::new);
27+
28+
let token =
29+
twitch_oauth2::UserToken::from_existing(&reqwest, user_token, refresh_token, client_secret)
30+
.await?;
31+
2932
println!("{:?}", token);
3033
dbg!(token.is_elapsed());
3134
Ok(())

0 commit comments

Comments
 (0)