From 35f7d6503e132190eca818d4b4952f716b20fbb7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABlle=20Huisman?= Date: Thu, 27 Feb 2025 20:56:21 +0100 Subject: [PATCH] feat(shield): add `native-tls` and `rustls-tls` features --- Cargo.lock | 31 ++++++++++++++++++++-- examples/leptos-axum/Cargo.toml | 6 +---- packages/providers/shield-oauth/Cargo.toml | 7 ++++- packages/providers/shield-oidc/Cargo.toml | 13 +++++++-- 4 files changed, 47 insertions(+), 10 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 240a259..f9f4b31 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2137,6 +2137,22 @@ dependencies = [ "webpki-roots", ] +[[package]] +name = "hyper-tls" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" +dependencies = [ + "bytes", + "http-body-util", + "hyper", + "hyper-util", + "native-tls", + "tokio", + "tokio-native-tls", + "tower-service", +] + [[package]] name = "hyper-util" version = "0.1.10" @@ -3775,7 +3791,6 @@ checksum = "43e734407157c3c2034e0258f5e4473ddb361b1e85f95a66690d67264d7cd1da" dependencies = [ "base64 0.22.1", "bytes", - "futures-channel", "futures-core", "futures-util", "http 1.2.0", @@ -3783,11 +3798,13 @@ dependencies = [ "http-body-util", "hyper", "hyper-rustls", + "hyper-tls", "hyper-util", "ipnet", "js-sys", "log", "mime", + "native-tls", "once_cell", "percent-encoding", "pin-project-lite", @@ -3800,6 +3817,7 @@ dependencies = [ "serde_urlencoded", "sync_wrapper", "tokio", + "tokio-native-tls", "tokio-rustls", "tower", "tower-service", @@ -5314,6 +5332,16 @@ dependencies = [ "syn 2.0.96", ] +[[package]] +name = "tokio-native-tls" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" +dependencies = [ + "native-tls", + "tokio", +] + [[package]] name = "tokio-rustls" version = "0.26.1" @@ -5729,7 +5757,6 @@ dependencies = [ "base64 0.22.1", "mime_guess", "regex", - "reqwest", "rust-embed", "serde", "serde_json", diff --git a/examples/leptos-axum/Cargo.toml b/examples/leptos-axum/Cargo.toml index 0b011e2..889c197 100644 --- a/examples/leptos-axum/Cargo.toml +++ b/examples/leptos-axum/Cargo.toml @@ -34,11 +34,7 @@ tracing-subscriber.workspace = true wasm-bindgen.workspace = true wasm-tracing.workspace = true utoipa.workspace = true -utoipa-swagger-ui = { version = "=8.1.0", features = [ - "axum", - "reqwest", - "vendored", -] } +utoipa-swagger-ui = { version = "=8.1.0", features = ["axum", "vendored"] } [features] default = ["ssr"] diff --git a/packages/providers/shield-oauth/Cargo.toml b/packages/providers/shield-oauth/Cargo.toml index da79cdb..3f574a7 100644 --- a/packages/providers/shield-oauth/Cargo.toml +++ b/packages/providers/shield-oauth/Cargo.toml @@ -10,5 +10,10 @@ version.workspace = true [dependencies] async-trait.workspace = true -oauth2 = "5.0.0" +oauth2 = { version = "5.0.0", default-features = false, features = ["reqwest"] } shield = { path = "../../core/shield", version = "0.0.4" } + +[features] +default = ["rustls-tls"] +native-tls = ["oauth2/native-tls"] +rustls-tls = ["oauth2/rustls-tls"] diff --git a/packages/providers/shield-oidc/Cargo.toml b/packages/providers/shield-oidc/Cargo.toml index f10cbc8..94315cf 100644 --- a/packages/providers/shield-oidc/Cargo.toml +++ b/packages/providers/shield-oidc/Cargo.toml @@ -12,8 +12,17 @@ version.workspace = true async-trait.workspace = true bon.workspace = true chrono.workspace = true -oauth2 = { version = "5.0.0", features = ["pkce-plain"] } -openidconnect = "4.0.0" +oauth2 = { version = "5.0.0", default-features = false, features = [ + "pkce-plain", +] } +openidconnect = { version = "4.0.0", default-features = false, features = [ + "reqwest", +] } serde.workspace = true shield = { path = "../../core/shield", version = "0.0.4" } tracing.workspace = true + +[features] +default = ["rustls-tls"] +native-tls = ["oauth2/native-tls", "openidconnect/native-tls"] +rustls-tls = ["oauth2/rustls-tls", "openidconnect/native-tls"]