nextauth-local-mailserver
v1.0.13
Published
Local mail server for NextAuth.js development and testing
Downloads
78
Maintainers
Readme
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
- Start your Next.js application
- Visit
http://localhost:5678
to see the mail server interface - Try to sign in with email in your application
- Watch the verification email appear in the mail server interface
- 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:
- Clone the repository
- Install dependencies with
pnpm install
- Start the development server with
pnpm dev
License
MIT