1.0.13 • Published 8 months ago

nextauth-local-mailserver v1.0.13

Weekly downloads
-
License
MIT
Repository
-
Last release
8 months ago

NextAuth Local Mail Server

A development mail server for NextAuth.js that helps you test email-based authentication locally without sending real emails.

Features

  • 📨 Catches all verification emails sent by NextAuth.js
  • 🔄 Real-time updates with Server-Sent Events
  • 👀 Web interface to view and manage verification emails
  • 🔗 One-click login links
  • 🚀 Zero configuration required

Installation

npm install --save-dev nextauth-local-mailserver

# or

yarn add -D nextauth-local-mailserver

# or

pnpm add -D nextauth-local-mailserver

Usage

1. Start the mail server

In your next auth powered project, in a separate terminal, run:

npx auth-ms start

The server will start on http://localhost:5678

2. Configure NextAuth.js

Update your NextAuth.js configuration to use the local mail server:

import EmailProvider from "next-auth/providers/email";
import { sendVerificationRequest } from "nextauth-local-mailserver";

/// ...

export const nextAuthConfig = {
  // ...
  providers: [
    EmailProvider({
      sendVerificationRequest,
    }),
  ],
  // ...
};

3. Test email authentication

  1. Start your Next.js application
  2. Visit http://localhost:5678 to see the mail server interface
  3. Try to sign in with email in your application
  4. Watch the verification email appear in the mail server interface
  5. Click the "Login" button to complete the authentication

How it works

When your application sends a verification email through NextAuth.js, instead of sending a real email, the request is intercepted by the local mail server. The server stores the verification details and displays them in a web interface where you can easily click to complete the authentication flow.

Development

To contribute to this project:

  1. Clone the repository
  2. Install dependencies with pnpm install
  3. Start the development server with pnpm dev

License

MIT

1.0.13

8 months ago

1.0.12

8 months ago

1.0.11

8 months ago

1.0.10

8 months ago

1.0.9

8 months ago

1.0.8

8 months ago

1.0.7

8 months ago

1.0.6

8 months ago

1.0.5

8 months ago

1.0.4

8 months ago

1.0.3

8 months ago

1.0.2

8 months ago

1.0.1

8 months ago

1.0.0

8 months ago