From 96ac24a0c5ef16c817322a629d0fcbc485d86948 Mon Sep 17 00:00:00 2001 From: Kjetil Orbekk Date: Sat, 24 Sep 2022 14:23:44 -0400 Subject: Add initial server project --- server/.env | 1 + server/Cargo.toml | 12 ++++++++++++ server/Rocket.toml | 4 ++++ server/src/main.rs | 35 +++++++++++++++++++++++++++++++++++ 4 files changed, 52 insertions(+) create mode 100644 server/.env create mode 100644 server/Cargo.toml create mode 100644 server/Rocket.toml create mode 100644 server/src/main.rs (limited to 'server') diff --git a/server/.env b/server/.env new file mode 100644 index 0000000..a7bcd3f --- /dev/null +++ b/server/.env @@ -0,0 +1 @@ +RUST_LOG=debug diff --git a/server/Cargo.toml b/server/Cargo.toml new file mode 100644 index 0000000..7c149ca --- /dev/null +++ b/server/Cargo.toml @@ -0,0 +1,12 @@ +[package] +name = "server" +version = "0.1.0" +edition = "2021" + +[dependencies] +anyhow = "1.0.65" +dotenv = "0.15.0" +log = "0.4.17" +env_logger = "0.8.4" +openidconnect = "2.3.2" +rocket = "0.5.0-rc.2" diff --git a/server/Rocket.toml b/server/Rocket.toml new file mode 100644 index 0000000..30cfa17 --- /dev/null +++ b/server/Rocket.toml @@ -0,0 +1,4 @@ +[development] +address = "localhost" +port = 11120 +secret_key = "1SmYoERqnfzf8dhTNEMp1VYrK7UCYhCbijQtSaF5LOI=" diff --git a/server/src/main.rs b/server/src/main.rs new file mode 100644 index 0000000..b60f699 --- /dev/null +++ b/server/src/main.rs @@ -0,0 +1,35 @@ +#[macro_use] extern crate rocket; + +#[get("/")] +fn index() -> &'static str { + "Hello, World!" +} + +#[rocket::main] +async fn main() -> Result<(), anyhow::Error> { + dotenv::dotenv().ok(); + env_logger::init(); + log::debug!("hello"); + + use openidconnect::core::{ + CoreAuthenticationFlow, CoreClient, CoreProviderMetadata, CoreResponseType, + CoreUserInfoClaims, + }; + use openidconnect::{ + AccessTokenHash, AuthenticationFlow, AuthorizationCode, ClientId, ClientSecret, CsrfToken, + IssuerUrl, Nonce, PkceCodeChallenge, RedirectUrl, Scope, + }; + + use openidconnect::reqwest::async_http_client; + use openidconnect::url::Url; + + // // Use OpenID Connect Discovery to fetch the provider metadata. + use openidconnect::{OAuth2TokenResponse, TokenResponse}; + let provider_metadata = CoreProviderMetadata::discover_async( + IssuerUrl::new("https://auth.orbekk.com/realms/test".to_string())?, + async_http_client, + ).await?; + log::debug!("{:?}", provider_metadata); + rocket::build().mount("/", routes![index]).launch().await; + Ok(()) +} -- cgit v1.2.3