@forgekit/auth
@forgekit/auth handles JWT tokens signing, multi-factor token verification, and session database adapters for serverless runtimes.
Initialization Reference
Register auth within your core app instance:
import { ForgeApp } from '@forgekit/core';
import { auth } from '@forgekit/auth';
const app = new ForgeApp();
app.use(
auth({
session: {
maxAge: '7d',
cookie: { secure: true, sameSite: 'lax' }
},
providers: ['github', 'google'],
secret: process.env.FORGEKIT_AUTH_SECRET
})
); Session API Reference
Get Current Session
Inspect requests to fetch the user session data:
const session = await app.auth.getSession(request);
if (session) {
console.log('Session User Email:', session.user.email);
console.log('User Roles:', session.user.roles); // Typed as string[]
} Sign In Credentials
Authenticate user email/password login attempts:
const { user, token } = await app.auth.signInWithPassword({
email: 'user@example.com',
password: 'secure-password-here'
}); Supported OAuth Providers
Configure OAuth providers natively by enabling redirect handlers:
- GitHub: Requires
GITHUB_CLIENT_IDandGITHUB_CLIENT_SECRET. - Google: Requires
GOOGLE_CLIENT_IDandGOOGLE_CLIENT_SECRET. - Discord: Requires
DISCORD_CLIENT_IDandDISCORD_CLIENT_SECRET.