diff --git a/Cargo.lock b/Cargo.lock index 8e025f70..26552c03 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4156,9 +4156,9 @@ dependencies = [ [[package]] name = "recaptcha-verify" -version = "0.1.6" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d694033c2b0abdbb8893edfb367f16270e790be4a67e618206d811dbe4efee4" +checksum = "409bf11a93fe93093f3c0254aab67576524f1e0524692615b5b63091dbc88a79" dependencies = [ "reqwest", "serde", diff --git a/src/service/Cargo.toml b/src/service/Cargo.toml index 8591496b..4d164e1b 100644 --- a/src/service/Cargo.toml +++ b/src/service/Cargo.toml @@ -121,7 +121,7 @@ webpage.workspace = true webpage.optional = true blurhash.workspace = true blurhash.optional = true -recaptcha-verify = { version = "0.1.5", default-features = false } +recaptcha-verify = { version = "0.2.0", default-features = false } yansi.workspace = true [target.'cfg(all(unix, target_os = "linux"))'.dependencies] diff --git a/src/service/uiaa/mod.rs b/src/service/uiaa/mod.rs index 7c15a919..4a224675 100644 --- a/src/service/uiaa/mod.rs +++ b/src/service/uiaa/mod.rs @@ -181,20 +181,11 @@ pub async fn try_auth( uiaainfo.completed.push(AuthType::Password); }, | AuthData::ReCaptcha(r) => { - if self.services.config.recaptcha_private_site_key.is_none() { + let Some(ref private_site_key) = self.services.config.recaptcha_private_site_key + else { return Err!(Request(Forbidden("ReCaptcha is not configured."))); - } - match recaptcha_verify::verify( - self.services - .config - .recaptcha_private_site_key - .as_ref() - .unwrap(), - r.response.as_str(), - None, - ) - .await - { + }; + match recaptcha_verify::verify_v3(private_site_key, r.response.as_str(), None).await { | Ok(()) => { uiaainfo.completed.push(AuthType::ReCaptcha); },