You've already forked authentication-service
mirror of
https://github.com/matrix-org/matrix-authentication-service.git
synced 2025-08-07 17:03:01 +03:00
Cloudflare Turnstile support
This commit is contained in:
@@ -129,6 +129,9 @@ pub fn captcha_config_from_config(
|
||||
|
||||
let service = match service {
|
||||
mas_config::CaptchaServiceKind::RecaptchaV2 => mas_data_model::CaptchaService::RecaptchaV2,
|
||||
mas_config::CaptchaServiceKind::CloudflareTurnstile => {
|
||||
mas_data_model::CaptchaService::CloudflareTurnstile
|
||||
}
|
||||
};
|
||||
|
||||
Ok(Some(mas_data_model::CaptchaConfig {
|
||||
|
@@ -23,6 +23,10 @@ pub enum CaptchaServiceKind {
|
||||
/// Use Google's reCAPTCHA v2 API
|
||||
#[serde(rename = "recaptcha_v2")]
|
||||
RecaptchaV2,
|
||||
|
||||
/// Use Cloudflare Turnstile
|
||||
#[serde(rename = "cloudflare_turnstile")]
|
||||
CloudflareTurnstile,
|
||||
}
|
||||
|
||||
/// Configuration section to setup CAPTCHA protection on a few operations
|
||||
|
@@ -19,6 +19,7 @@ use url::Url;
|
||||
#[derive(Debug, Clone)]
|
||||
pub enum CaptchaService {
|
||||
RecaptchaV2,
|
||||
CloudflareTurnstile,
|
||||
}
|
||||
|
||||
/// Captcha configuration
|
||||
|
@@ -30,6 +30,9 @@ impl Object for CaptchaConfig {
|
||||
match key.as_str() {
|
||||
Some("service") => Some(match &self.0.service {
|
||||
mas_data_model::CaptchaService::RecaptchaV2 => "recaptcha_v2".into(),
|
||||
mas_data_model::CaptchaService::CloudflareTurnstile => {
|
||||
"cloudflare_turnstile".into()
|
||||
}
|
||||
}),
|
||||
Some("site_key") => Some(self.0.site_key.clone().into()),
|
||||
_ => None,
|
||||
|
Reference in New Issue
Block a user