Studi kasus — 05
Login Google dan GitHub yang ditulis tangan di Next.js — PKCE, sesi yang bisa dicabut, rate limit, dan log audit, tanpa library auth.
Library auth menyembunyikan keputusan yang penting: di mana verifier PKCE disimpan, bagaimana sesi dicabut, dan di mana login gagal dicatat. Menulis alurnya sendiri membuat keputusan itu terlihat.
Alur Google memakai authorization code grant dengan code challenge S256.
Sesi disimpan di SQLite. Logout mengakhiri perangkat saat ini, dan logout dari semua perangkat mencabut sisanya.
Endpoint auth dibatasi rate-nya, dan setiap kejadian auth ditulis ke berkas log.
Unit test berjalan dengan Vitest dan alur end-to-end dengan Playwright. README mencantumkan redirect URI yang dibutuhkan untuk pengembangan lokal.