Skip to content
Algol Blog

Authentication di Next.js 2026 – Pendekatan yang Saya Pakai Sekarang

NextJS, Authentication, AuthJS, Security2 min read

authentication-nextjs-2026

Authentication di Next.js 2026 – Pendekatan yang Saya Pakai Sekarang

Halo teman-teman,

Authentication selalu jadi salah satu bagian yang paling sering bikin ribet di project. Setelah coba berbagai cara (NextAuth, Clerk, Auth.js, custom JWT, dll), sekarang saya punya pendekatan yang cukup stabil dan simple.

Ini yang saya pakai di kebanyakan project 2026:

1. Auth.js (NextAuth v5) + Database Session

Saya lebih suka database session daripada pure JWT, terutama untuk aplikasi yang butuh keamanan lebih tinggi (bisa revoke session).

// auth.ts
import NextAuth from "next-auth";
import { PrismaAdapter } from "@auth/prisma-adapter";
import prisma from "@/lib/prisma";
export const { handlers, auth, signIn, signOut } = NextAuth({
adapter: PrismaAdapter(prisma),
providers: [
/* Google, Credentials, dll */
],
session: { strategy: "database" },
});

2. Server-Side Protection

Saya selalu protect di server dulu:

import { auth } from "@/auth"
import { redirect } from "next/navigation"
export default async function DashboardPage() {
const session = await auth()
if (!session) redirect("/login")
return <div>Welcome {session.user.name}</div>
}

3. Role-Based Access Control (RBAC) Sederhana

Saya tambahkan role di session:

// types
declare module "next-auth" {
interface Session {
user: {
id: string;
role: "admin" | "user" | "moderator";
};
}
}

Lalu di server action / page, saya cek role sebelum lanjut.

4. Hal yang Saya Hindari

  • Menyimpan sensitive data di client-side cookie tanpa httpOnly
  • Mengandalkan hanya client-side protection
  • Membuat auth system dari nol (kecuali benar-benar butuh)

5. Alternatif yang Juga Saya Suka

  • Clerk → kalau butuh cepat dan UI bagus out of the box
  • Lucia Auth → kalau mau lebih lightweight dan full control
  • Supabase Auth → kalau sudah pakai Supabase

Kesimpulan

Di 2026, saya lebih prioritaskan keamanan + maintainability daripada fitur yang berlebihan.

Auth.js + database session masih jadi pilihan utama saya untuk kebanyakan project. Simple, fleksibel, dan cukup powerful.


Pertanyaan buat kalian:
Kalian lagi pakai auth solution apa sekarang?
Auth.js, Clerk, Lucia, atau yang lain?

Cerita di komentar yuk!

— Ady Rahmansyah
Software Engineer | Tech Blogger | Coffee Addict

© 2026 by Algol Blog. All rights reserved.
Theme by LekoArts