Skip to main content

Overview

Email verification helps confirm user identities by requiring them to verify their email addresses before gaining full access. This is especially useful for preventing spam and unauthorized access. When a user signs up, Nile Auth:
  1. Sends a verification email using your configured SMTP server.
  2. Generates a unique verification_token for the user.
  3. Grants access to the user after they click the verification link.

Prerequisites

  • A configured SMTP server is required to send verification emails. You can set this up in the Nile Auth UI under Tenants & Users -> Configuration -> Email templates.
  • A web server configured to handle Nile Auth requests and serve html.

Implementation

1

Install dependencies

2
Your application must expose API routes to handle authentication operations.Create a folder called api under the app folder and a folder called [...nile] under it:
Create following files handle the calls to your server, as well as expose the nile instance to your application:
app/api/[...nile]/nile.ts
app/api/[...nile]/route.ts
3

Middleware for Verification Enforcement

This middleware ensures that unverified users are redirected to a verification page.
4

Verification Button in the Frontend

This button allows users to trigger email verification manually.
5

Sign-in via Email

You can also allow users to sign in directly using their email without requiring a password.

Verification flow

  1. The user inputs their email on the login/signup page.
  2. Nile sends an email with a verification token using the configured SMTP settings.
  3. The link exchanges the verification_token for an authenticated session.
  4. Upon successful verification, the user can access the application.