Lewati ke konten
FDFerdinand Dero Saputra
Semua karyaen

Studi kasus — 05

Sistem OAuth

Login Google dan GitHub yang ditulis tangan di Next.js — PKCE, sesi yang bisa dicabut, rate limit, dan log audit, tanpa library auth.

Peran
Autentikasi · proyek pribadi
Tahun
2026
Stack
Next.jsSQLitePKCE

01 — Konteks

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.

02 — Pendekatan

  1. 01

    PKCE untuk Google

    Alur Google memakai authorization code grant dengan code challenge S256.

  2. 02

    Sesi yang bisa dicabut

    Sesi disimpan di SQLite. Logout mengakhiri perangkat saat ini, dan logout dari semua perangkat mencabut sisanya.

  3. 03

    Batas dan log

    Endpoint auth dibatasi rate-nya, dan setiap kejadian auth ditulis ke berkas log.

03 — Hasil

Unit test berjalan dengan Vitest dan alur end-to-end dengan Playwright. README mencantumkan redirect URI yang dibutuhkan untuk pengembangan lokal.

penyedia: Google, GitHub
2
metode PKCE challenge
S256
alur Playwright
E2E
Kode di GitHub
Sebelumnyadhybrid-agentBerikutnyaFCopier
  • Blog
  • Kontak
  • Resume

© 2026 Ferdinand Dero Saputra — dibangun dengan Next.js & Tailwind

--:--Kembali ke atas ↑