auth_manual/
auth_manual.rs1use std::error::Error;
8
9use azalea_auth::ProfileResponse;
10
11#[tokio::main]
12async fn main() -> Result<(), Box<dyn Error>> {
13 env_logger::init();
14
15 let profile = auth().await?;
16 println!("Logged in as {}", profile.name);
17
18 Ok(())
19}
20
21async fn auth() -> Result<ProfileResponse, Box<dyn Error>> {
23 let client = reqwest::Client::new();
24
25 let res = azalea_auth::get_ms_link_code(&client, None, None).await?;
26 println!(
27 "Go to {} and enter the code {}",
28 res.verification_uri, res.user_code
29 );
30 let msa = azalea_auth::get_ms_auth_token(&client, res, None).await?;
31 let auth_result = azalea_auth::get_minecraft_token(&client, &msa.data.access_token).await?;
32 Ok(azalea_auth::get_profile(&client, &auth_result.minecraft_access_token).await?)
33}