𝗔𝘂𝘁𝗲𝗻𝘁𝗶𝗸𝗮𝘀𝗶 𝗝𝗪𝗧 𝗱𝗮𝗹𝗮𝗺 𝗙𝗮𝘀𝘁𝗔𝗣𝗜

Autentikasi bertanya "Siapa Anda?" Otorisasi bertanya "Apa yang bisa Anda lakukan?"

Jika Anda membangun platform AI tanpa keamanan, siapa pun dapat mengakses data pribadi. Mereka dapat mengubah profil pengguna atau melihat kemajuan siswa. Anda harus melindungi sumber daya Anda.

JWT (JSON Web Token) menyelesaikan masalah ini. Alih-alih mengirimkan kata sandi pada setiap permintaan, pengguna mengirimkan token yang aman.

Alur kerjanya:

Anda sebaiknya menggunakan alat-alat ini:

Jangan pernah menyimpan kata sandi dalam bentuk teks biasa. Jika peretas mencuri database Anda, mereka akan mendapatkan segalanya. Sebagai gantinya, simpanlah sebuah hash.

Sebuah hash mengubah "password123" menjadi deretan karakter acak yang panjang. Anda tidak dapat mengubah hash kembali menjadi kata sandi. Anda hanya memverifikasi apakah input cocok dengan hash tersebut.

Cara membangunnya:

  1. Registrasi Pengguna mengirimkan username dan kata sandi. Anda melakukan hashing pada kata sandi tersebut dan menyimpannya di database Anda.

  2. Login Pengguna mengirimkan kredensial. Anda mencari hash yang tersimpan. Anda menggunakan library untuk memverifikasi kata sandi. Jika cocok, Anda membuat sebuah token.

  3. Pembuatan JWT Sebuah token berisi data pengguna dan waktu kedaluwarsa. Anda menandatangani token tersebut dengan kunci rahasia (secret key). Jika pengguna mencoba mengubah data, tanda tangan (signature) akan gagal.

Respon login terlihat seperti ini: { "access_token": "eyJhbGciOiJIUzI1Ni...", "token_type": "bearer" }

Sekarang pengguna memegang kunci ke sistem Anda.

Di bagian selanjutnya, kita akan mempelajari cara menggunakan token ini untuk melindungi rute tertentu dan mengelola peran pengguna.

Ringkasan langkah-langkah:

Sumber: https://dev.to/zeroshotanu/fastapi-for-ai-engineers-part-6-jwt-authentication-in-fastapi-5fpk

Komunitas pembelajaran opsional: https://t.me/GyaanSetuAi