Migrasi Proyek Bertahap: Integrasi Domain melalui Proxy
- Diputuskan untuk memigrasikan tech stack layanan admin internal dari Next.js Page Router ke App Router
- Tim tech internal ingin mempertahankan kode aplikasi Page Router yang ada apa adanya, lalu memigrasikan ke App Router satu per satu mulai dari halaman yang baru dibuat
- Untuk itu, aplikasi Page Router lama dan aplikasi App Router baru dideploy ke domain terpisah, lalu diintegrasikan ke dalam satu domain menggunakan Vercel Proxy
- Melalui pengaturan Proxy, semua rute yang diawali dengan
/new di-rewrite ke aplikasi baru, sementara semua rute lainnya di-rewrite ke aplikasi lama
Alasan autentikasi bisa tetap dipertahankan di kedua aplikasi
- Mengapa autentikasi bisa tetap dipertahankan bukan hanya di aplikasi lama, tetapi juga di proyek baru?
- Layanan admin internal diimplementasikan dengan metode autentikasi session cookie
- Dan karena tidak ada pengaturan CORS di backend, cookie hanya bisa diakses dari domain yang sama dengan server
- Halaman login ada di aplikasi lama. Lalu, apakah saat melakukan permintaan API dari aplikasi baru akan muncul masalah autentikasi karena browser tidak bisa mengirim session cookie?
- Kesimpulannya, tidak ada masalah
- Alasannya adalah karena melalui pengaturan Proxy, kedua aplikasi telah diintegrasikan ke dalam satu domain A.
- Setelah login, browser menyimpan cookie di domain A, dan secara otomatis menyertakan session cookie dalam semua permintaan berikutnya
Belum ada komentar.