Recaptcha3 field

From EPrints Documentation
Revision as of 13:42, 20 July 2024 by Drn@ecs.soton.ac.uk (talk | contribs) (Added Recaptcha3 page)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

EPrints 3 Reference: Directory Structure - Metadata Fields - Repository Configuration - XML Config Files - XML Export Format - EPrints data structure - Core API - Data Objects


Metadata Fields: Arclanguage - Base64 - Bigint - Boolean - Compound - Counter - Dataobjref - Date - Decimal - Email - Fields - Float - Id - Idci - Image - Int - Itemref - Keywords - Langid - Longtext - Longtext_counter - Multilang - Multipart - Name - Namedset - Pagerange - Recaptcha - Recaptcha3 - Relation - Search - Secret - Set - Storable - Subject - Subobject - Text - Time - Timestamp - Url - Uuid

Description

Add the following configuration to a file called cfg/cfg.d/recaptcha3.pl in your archive, if it does not already exist.

$c->{recaptcha3}->{private_key} = "CHANGEME";
$c->{recaptcha3}->{public_key} = "CHANGEME";
$c->{recaptcha3}->{min_score} = 0.5;

This field uses the Google "reCAPTCHAv3" service and renders a Captcha (a test that humans can easily pass, but robots shouldn't be able to). You will need to use a Google account to generate a private and public key (also known by Google as a secret key and site key respectively) for the above configuration, this can be done via the reCAPTCHA Admin Console linked form https://developers.google.com/recaptcha/docs/v3. If you are setting up a Recaptcha3 field for protecting request copy forms, you will need to add the following configuration to a file in your archive's cfg/cfg.d/ directory.

$c->add_dataset_field( "request", {
  name => "captcha",
  replace_core => 1,
  type => "recaptcha3",
});

Inheritance

Additional Properties

As for Id fields.

Required Phrases

validate:recaptcha3_mismatch - Phrase to display if reCAPTCHAv3 submission errored in some way.

Database

Recaptcha3 fields are not stored in the database they are just so reCAPTCHAv3 can be added to certain forms. The result of the reCAPTCHAv3 does not need to be stored.

API

See API page.

Examples

Most basic example.

{
    name => 'captcha',
    type => 'recaptcha3',
}