diff --git a/README.md b/README.md index 4e28865c..5c676461 100644 --- a/README.md +++ b/README.md @@ -25,6 +25,10 @@ docker compose run ui npm install docker compose up -d ``` +reCAPTCHA is disabled in the UI's Docker Compose development server by default; +set `VUE_APP_RECAPTCHA_ENABLED=1` and configure the API's +`RECAPTCHA_ENABLED=true` to test with real reCAPTCHA keys. + #### Running scripts ``` diff --git a/docker-compose.yml b/docker-compose.yml index c1ade265..ec274496 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,6 +3,8 @@ services: ui: env_file: - .env + environment: + VUE_APP_RECAPTCHA_ENABLED: ${VUE_APP_RECAPTCHA_ENABLED:-0} image: node:22 user: "node" working_dir: /home/node/app diff --git a/src/backend/index.js b/src/backend/index.js index dca47ecb..2a7aff1e 100644 --- a/src/backend/index.js +++ b/src/backend/index.js @@ -1,7 +1,9 @@ import * as api from './api' import axios from './axios' +import { getRecaptchaToken } from './recaptcha' export { api, axios, + getRecaptchaToken, } diff --git a/src/backend/recaptcha.js b/src/backend/recaptcha.js new file mode 100644 index 00000000..c3530b7d --- /dev/null +++ b/src/backend/recaptcha.js @@ -0,0 +1,9 @@ +import config from '../config' + +export const getRecaptchaToken = (app, action) => { + if (!config.RECAPTCHA_ENABLED) { + return Promise.resolve('local-development') + } + + return app.$recaptcha(action) +} diff --git a/src/components/Cards/CreateAccount.vue b/src/components/Cards/CreateAccount.vue index 0af48906..9239167c 100644 --- a/src/components/Cards/CreateAccount.vue +++ b/src/components/Cards/CreateAccount.vue @@ -76,7 +76,7 @@ -

+

This site is protected by reCAPTCHA. Wikibase Cloud Privacy Policy and Google Terms of Service apply. @@ -97,7 +97,9 @@