Back to Next Js

Example with Cloudflare Turnstile

examples/cloudflare-turnstile/README.md

16.2.52.3 KB
Original Source

Example with Cloudflare Turnstile

Turnstile is Cloudflare’s smart CAPTCHA alternative. It can be embedded into any website without sending traffic through Cloudflare and works without showing visitors a CAPTCHA.

This example shows how you can use Cloudflare Turnstile with your Next.js project. You can see a live version here.

Deploy your own

Deploy the example using Vercel.

Important: When you import your project on Vercel, make sure to click on Environment Variables and set them to match your .env.local file.

How to use

Execute create-next-app with npm, Yarn, or pnpm to bootstrap the example:

bash
npx create-next-app --example cloudflare-turnstile cloudflare-turnstile-app
bash
yarn create next-app --example cloudflare-turnstile cloudflare-turnstile-app
bash
pnpm create next-app --example cloudflare-turnstile cloudflare-turnstile-app

Deploy it to the cloud with Vercel (Documentation).

Configuring Cloudflare Turnstile

Get a sitekey and secret key

  1. Go to the Cloudflare dashboard and select your account.
  2. Go to Turnstile.
  3. Select Add a site and fill out the form.
  4. Copy your Site Key and Secret Key.

Set up environment variables

To connect the app with Cloudflare Turnstile, you'll need to add the settings from your Cloudflare dashboard as environment variables

Copy the .env.local.example file in this directory to .env.local.

bash
cp .env.local.example .env.local

Then, open .env.local and fill these environment variables:

  • NEXT_PUBLIC_CLOUDFLARE_TURNSTILE_SITE_KEY
  • CLOUDFLARE_TURNSTILE_SECRET_KEY