next js login jwt

next js login jwt

Tutorial Next.js 11 - Otentikasi JWT Dengan Contoh Aplikasi Tutorial ini menunjukkan cara membangun aplikasi login full stack sederhana di Next.js yang menggunakan otentikasi JWT. Next.js mendukung beberapa pola otentikasi yang dirancang untuk kasus penggunaan yang berbeda. Halaman ini akan menjelaskan setiap kasus sehingga Anda dapat memilih berdasarkan kendala yang Anda miliki. Pola Otentikasi: 1. Next.js Ketik di terminal yarn add next bcryptjs jsonwebtoken js-cookie dan tunggu hingga selesai. Atau Anda bisa langsung mengetikkan yarn install atau npm install dengan file package.json ini.... Langkah awal dalam otentikasi token adalah menghasilkan token setelah proses login berhasil. Langkah berikutnya adalah mengimplementasikan logika untuk verifikasi token. Pada dasarnya, Anda akan menggunakan fungsi jwtVerify yang disediakan oleh modul Jose untuk memverifikasi token JWT yang dilewatkan dengan permintaan HTTP berikutnya. Anda dapat melihat bahwa jika permintaan login berhasil, kami akan memiliki nama pengguna, accessToken atau JWT, dan waktu kedaluwarsa. Hook Otentikasi. Kami memerlukan 3 hook sederhana: - useCurrentUser: hook untuk mendapatkan info pengguna yang saat ini login; - useLogin: hook yang menyediakan metode login; - useLogout: hook yang menyediakan metode logout Bagaimana cara Anda memasukkan user login dan memberikan akses? Kami akan menjelaskan cara mengotentikasi dan memberikan otorisasi pengguna tanpa password di Next.js. Pertama, pasang NextAuth.js dengan menjalankan kode di bawah ini: npm i next-auth. Untuk menambahkan NextAuth.js ke aplikasi Anda, buat file [...nextauth].js di direktori pages/api/auth dan tambahkan kode berikut: Pada dasarnya, pengguna memasukkan nama pengguna dan kata sandi mereka dan ini diperiksa terhadap kredensial database melalui API (Node.js/Express). Jadi, saya tidak menggunakan fungsionalitas api internal Next.js, tapi sepenuhnya terpisah dari proyek Next.js saya. Jika kredensial login benar, token JWT dikirim kembali ke klien. Aplikasi klien Next.js (React) berisi halaman-halaman berikut: - /account/login - halaman publik untuk login ke aplikasi Next.js. - /account/register - halaman publik untuk mendaftar akun pengguna baru dengan aplikasi. - - halaman utama yang aman yang berisi pesan selamat datang sederhana untuk pengguna yang telah login. Kita perlu mengirim token jwt (string yang dikembalikan oleh signToken), ke klien dan klien akan menyimpannya sebagai cookie. Dan setiap permintaan, klien akan mengirimkan jwt ini sebagai otorisasi dalam header sebagai 'Bearer jwt_token'. Fungsi middleware kami untuk otentikasi terlihat seperti ini: import jwt from 'jsonwebtoken' export const authenticate = (req, res, next ... Untuk memulai, pasang CLI secara global: npm install -g create-next-app. Sekarang buat aplikasi Next.js baru: create-next-app next-authentication. Saat diminta untuk memilih template, pilih opsi aplikasi starter default dan tekan enter untuk melanjutkan. Sekarang ubah direktori ke folder proyek yang baru dibuat: cd next-authentication. Aplikasi klien Next.js dibangun dengan React dan berisi halaman-halaman berikut: - /account/login - halaman publik untuk login ke aplikasi Next.js. - /account/register - halaman publik untuk mendaftar akun pengguna baru dengan aplikasi. - - halaman utama yang aman yang berisi pesan selamat datang sederhana untuk pengguna yang telah login. Saat pengguna login, ia mengirimkan nama pengguna/kata sandi ke server API yang terpisah (ex. proyek baru yang menangani halaman belakang), server akan merespons dengan akses token, lalu di proyek Next.js, saya mengatur cookie dengan token yang diterima. Di proyek Next.js, rute yang dilindungi akan di bungkus dengan denganAuth hoc, yang akan memeriksa token di... (Note: This is a machine translation so there may be errors in grammar and vocabulary.)