Auth Package
Token Encryption
Encrypt and decrypt tokens using AES-256-GCM.
Token Encryption
Encrypt and decrypt tokens using AES-256-GCM.
Configuration
Requires APP_KEY environment variable:
APP_KEY=base64:your-32-byte-key-here
Generate a key:
pnpm exec artisan key:generate
Encrypting Tokens
import { encryptToken } from "@lara-node/auth";
const encrypted = encryptToken(token);
Decrypting Tokens
import { decryptToken } from "@lara-node/auth";
const decrypted = decryptToken(encrypted);
Use Cases
Password Reset Tokens
const token = generateToken({ userId: user.id, type: "reset" }, 3600);
const encrypted = encryptToken(token);
// Send encrypted token via email
await Mail.to(user.email).send(new ResetPasswordMail(encrypted));
Email Verification
const token = generateToken({ userId: user.id, email: user.email }, 86400);
const encrypted = encryptToken(token);
// Store in database or send via email
Next Steps
- Token Generation -- JWT tokens
- Password Hashing -- Hash passwords
- Auth Middleware -- Protect routes