Skip to main content

client/
client.rs

1use keycloak_oauth::client::{ClientConfiguration, ClientError, KeycloakClient};
2use oauth2::TokenResponse;
3
4#[tokio::main]
5async fn main() -> Result<(), ClientError> {
6    let config = ClientConfiguration::from_env();
7
8    let keycloak_client = KeycloakClient::new(config);
9    let token = match keycloak_client.verify_and_refresh_access_token().await {
10        Ok(token) => token,
11        Err(_) => keycloak_client
12            .authenticate()
13            .await?
14            .access_token()
15            .secret()
16            .clone(),
17    };
18
19    //make requests with the token
20    println!("{}", token);
21
22    Ok(())
23}