Salta ai contenuti

Questi contenuti non sono ancora disponibili nella tua lingua.

Angular Integration

ALTCHA is a next-generation, privacy-first CAPTCHA solution that protects your Angular applications from bots and spam without tracking users or using cookies. This guide walks you through integrating ALTCHA in your Angular projects for secure, GDPR-compliant Angular integration.

Example Project

Why Use ALTCHA in Angular?

Using ALTCHA with Angular offers multiple advantages:

  • Privacy-first: No cookies or user tracking
  • Regulation compliant: Fully GDPR and CCPA compliant
  • Accessible: Works for all users, including those using assistive technologies
  • Lightweight: Minimal performance impact on your Angular app

Integrating ALTCHA ensures your forms and user interactions are protected from automated abuse without compromising user experience.

Installation

Install ALTCHA via npm:

Terminal window
npm install altcha

Or with yarn:

Terminal window
yarn add altcha

Basic Integration in Angular

  1. Import ALTCHA in your Angular component or module:
import 'altcha';
  1. Add the ALTCHA WebComponent to your Angular template:
import { Component } from '@angular/core';
@Component({
selector: 'app-contact-form',
template: `
<form (ngSubmit)="onSubmit(contactForm)" #contactForm="ngForm">
<input type="text" name="name" ngModel placeholder="Your Name" required />
<input type="email" name="email" ngModel placeholder="Your Email" required />
<!-- ALTCHA WebComponent -->
<altcha-widget challenge="/api/altcha/challenge"></altcha-widget>
<button type="submit">Submit</button>
</form>
`
})
export class ContactFormComponent {
onSubmit(form: any) {
if (form.valid) {
// handle form submission
}
}
}
  1. Server Integration

ALTCHA requires a backend component to ensure secure operation. The server is responsible for both issuing challenges and validating solutions.

For implementation details, including using ALTCHA Sentinel, see Server Integration.

  1. a. Challenge Generation

Your backend must expose an endpoint that generates a new ALTCHA challenge. This endpoint is used by the widget via the challenge attribute.

  • The endpoint should return a valid ALTCHA challenge payload
  • It must be accessible by the client application
  • It should use a secure secret key stored on the server
  1. b. Challenge Verification

When the form is submitted, your backend must verify the ALTCHA solution before processing any user input.

  • Extract the ALTCHA payload from the request
  • Validate it using your server-side integration
  • Reject the request if verification fails
  1. c. Key Requirements
  • Never expose your secret key in client-side code
  • Always perform verification server-side
  • Ensure both challenge generation and verification use the same secret

Best Practices for Angular Integration

  • Place the captcha before the submit button for better UX
  • Always verify requests server-side before processing data
  • Customize the widget to match your app’s design
  • Handle errors gracefully to avoid frustrating users