angular-recaptcha3
TypeScript icon, indicating that this package has built-in type declarations

2.0.0 • Public • Published

angular-recaptcha3

Angular v10+ integration with google recaptcha v2-3.

Setup

import { ReCaptchaModule } from 'angular-recaptcha3';

@NgModule({
    imports: [
        ReCaptchaModule.forRoot(RECAPTCHA_OPTION)
    ]
})
const RECAPTCHA_OPTION = {
    language?: string;
    invisible?: IRecaptchaOption;
    normal?: IRecaptchaOption;
}

interface IRecaptchaOption {
    sitekey: string;
    theme?: string;
    type?: string;
    tabindex?: number;
    badge?: string;
}

Option description: https://developers.google.com/recaptcha/docs/display

Language codes: https://developers.google.com/recaptcha/docs/language

Example AppModule:

import { ReCaptchaModule } from 'angular-recaptcha3';

@NgModule({
    imports: [
        ReCaptchaModule.forRoot({
            invisible: {
                sitekey: 'your key', 
            },
            normal: {
                sitekey: 'your key', 
            },
            language: 'en'
        }),
    ]
})

To initialize the recaptcha you need to insert in the template

<recaptcha 
    [size]="'invisible'"
    (captchaResponse)="onCaptchaResponse($event)"
    (captchaExpired)="onCaptchaExpired()">
</recaptcha>

<recaptcha 
    [size]="'normal'"
    [hide]="false" 
    (captchaResponse)="onCaptchaResponse($event)">
</recaptcha>
onCaptchaExpired(event) {
    console.log(event);
}

onCaptchaResponse(event) {
    console.log(event);
}

Recaptcha has parametrs:

  • hide
  • sitekey
  • size
  • theme
  • type
  • tabindex
  • badge
  • language

Actions

reCAPTCHA v3 introduces a new concept: actions. When you specify an action name in each place you execute reCAPTCHA you enable two new features:

a detailed break-down of data for your top ten actions in the admin console adaptive risk analysis based on the context of the action (abusive behavior can vary) Importantly, when you verify the reCAPTCHA response you should also verify that the action name matches the one you expect.

    constructor(
        private recaptchaService: ReCaptchaService
    ) { }
    // ...
    recaptchaService.execute({action: 'homepage'}).then(token => {
        //...
    });

Note: actions may only contain alphanumeric characters and slashes, and must not be user-specific.

A more detailed description of ReCaptcha: https://developers.google.com/recaptcha/intro

Readme

Keywords

Package Sidebar

Install

npm i angular-recaptcha3

Weekly Downloads

731

Version

2.0.0

License

MIT

Unpacked Size

136 kB

Total Files

27

Last publish

Collaborators

  • quis0
  • romanchuk
  • vreactor
  • fayriot